{"id":34044879,"url":"https://github.com/callowayproject/django-stories","last_synced_at":"2026-03-17T20:35:42.810Z","repository":{"id":658752,"uuid":"301571","full_name":"callowayproject/django-stories","owner":"callowayproject","description":"An application for handling newspaper-like stories on a web site.","archived":false,"fork":false,"pushed_at":"2015-08-29T13:48:55.000Z","size":1863,"stargazers_count":42,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-15T16:23:56.570Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://django-stories.readthedocs.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/callowayproject.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-09-09T00:15:02.000Z","updated_at":"2024-04-23T13:02:03.000Z","dependencies_parsed_at":"2022-07-09T08:16:12.378Z","dependency_job_id":null,"html_url":"https://github.com/callowayproject/django-stories","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/callowayproject/django-stories","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fdjango-stories","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fdjango-stories/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fdjango-stories/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fdjango-stories/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/callowayproject","download_url":"https://codeload.github.com/callowayproject/django-stories/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fdjango-stories/sbom","scorecard":{"id":262974,"data":{"date":"2025-08-11","repo":{"name":"github.com/callowayproject/django-stories","commit":"ea0398d69ea597819d0a6c75d4a3f65820321e13"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":-1,"reason":"internal error: internal error: Client.Checks.ListCheckRunsForRef: error during graphqlHandler.setupCheckRuns: non-200 OK status code: 502 Bad Gateway body: \"\u003chtml\u003e\\r\\n\u003chead\u003e\u003ctitle\u003e502 Bad Gateway\u003c/title\u003e\u003c/head\u003e\\r\\n\u003cbody\u003e\\r\\n\u003ccenter\u003e\u003ch1\u003e502 Bad Gateway\u003c/h1\u003e\u003c/center\u003e\\r\\n\u003chr\u003e\u003ccenter\u003enginx\u003c/center\u003e\\r\\n\u003c/body\u003e\\r\\n\u003c/html\u003e\\r\\n\"","details":null,"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T11:15:36.725Z","repository_id":658752,"created_at":"2025-08-17T11:15:36.725Z","updated_at":"2025-08-17T11:15:36.725Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30631351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-13T23:02:52.864Z","updated_at":"2026-03-17T20:35:42.804Z","avatar_url":"https://github.com/callowayproject.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n|BUILD|_\n\n.. |BUILD| image::\n   https://secure.travis-ci.org/callowayproject/django-stories.png?branch=master\n.. _BUILD: http://travis-ci.org/#!/callowayproject/django-stories\n\n==============\nDjango Stories\n==============\n\n:Version: 1.0.4\n:Docs: http://django-stories.readthedocs.org/\n:Download: http://pypi.python.org/pypi/django-stories/\n:Source: http://github.com/callowayproject/django-stories/\n\nThis app is designed to be flexible to configure, but still simple to the writers and editors.\n\nDesign Goals\n============\n\n* Reduced dependencies: Checks for optional packages and only creates the fields if they are there.\n\n* Rich content embedding from GUI: For embedded content, the markup language's GUI can do everything it needs.\n\n* Flexible dependencies: Can pick from several applications that provide similar service, for example django-staff vs. User, massmedia vs. photologue\n\n\nFeatures\n========\n\n* **Revision tracking:** Keeps track of saved versions and allows a user to revert to a previous version.\n\n* **Related items:** Can set any configured item to be related to the story. These are for Photos, Videos, other stories, etc.\n\n* **Quick Edit:** Several fields can be changed in the list view including Headline, Subheadline, Teaser, Kicker and Published Status. A form is used and can be overridden by your project to include what ever fields you want.\n\n* **Optional 404 supressing:** Sometimes you may have to take down content. You can now return a page with an explanation instead of returning a 404 error.\n\nChange Log\n==========\n\n- **New in 1.0.4**\n\n* Story ensures that a publish date and time is set automatically if the status is set to publish.\n* ``get_absolute_url`` now returns an empty string if there is no publish date, instead of raising an exception.\n\n- **1.0.3**\n\n* `django 1.5` support\n* tested with `django-categories 1.2.*`\n* dropped support for `django 1.2`\n\n- **1.0.2**\n\n* Added a default manager\n\n- **1.0.1**\n\n* New `CurrentSiteManager`\n* Widget fields can now be specified with `settings.WIDGET_FIELDS`\n\n- **1.0**\n\n* Code refactor\n\n* South migrations\n\n* ``Relations`` are now a seperate inner app of ``stories``\n\n* Tests\n\n* New ``author_display`` property to replace te current ``author`` property\n\n* Removed most requirements as they are not really \"Required\". ``BeautifulSoup`` remains a requirement.\n\n* New settings: ``WIDGET``, ``WIDGET_ATTRS``. Since TinyMCE was removed as a requirement, these we settings will be used to supply the widget for the ``story.body`` field.\n\n* Setting ``STORY_ORDERING`` was renamed to ``ORDERING``. Using ``STORY_ORDERING`` is still possible, but a warning will be displayed.\n\n* Fixed issues with Quick Edit functionality on the stories changelist\n\n* Fixes to the Quick Edit functionality\n\n    * QuickEdit now works =)\n    * Removed external jQuery references for Quick Edit. Now uses ``django.jQuery`\n    * Removed inline css/js, these are now in seperate files\n    * The js was rewritten in coffeescript\n\n\n**New in 0.6**\n\n* A refactoring of the settings to be dictionary-based.\n\n* Added ability to limit choices in the author model\n\n* Added new settings: ``AUTHOR_MODEL``\\ , ``USE_CATEGORIES``\\ , ``USE_REVERSION``\n\n**New in 0.5**\n\nIn 0.5 a new field was added: comment_status. Comment status deprecates the comments flag as it allows for a third state of comments: Frozen (show old comments but don't allow new comments).\n\nThere is a SQL script to add the new field and migrate the appropriate values from the old field. The old field is not removed from the table, but all references to it within the app are gone.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallowayproject%2Fdjango-stories","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcallowayproject%2Fdjango-stories","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallowayproject%2Fdjango-stories/lists"}