GithubHelp home page GithubHelp logo

westernfriend / westernfriend.org Goto Github PK

View Code? Open in Web Editor NEW
51.0 5.0 40.0 3.58 MB

A website for Western Friend (westernfriend.org), a Quaker publication that provides resources and support for Quaker communities and individuals seeking to live out their faith in the world. Western Friend is part of the Religious Society of Friends.

Home Page: https://westernfriend.org

License: GNU Affero General Public License v3.0

Python 92.16% HTML 7.31% JavaScript 0.32% Shell 0.01% CSS 0.20% Procfile 0.01%
python python3 django wagtail wagtail-cms quaker quakers magazine online-magazine friends

westernfriend.org's People

Contributors

alhcomer avatar allcontributors[bot] avatar brylie avatar deepsource-autofix[bot] avatar deepsource-io[bot] avatar deepsourcebot avatar dependabot[bot] avatar dhelbegor avatar ernstbas avatar gt-codeur avatar harshal662 avatar josh-bristow avatar lidiatre avatar lokeshkadem avatar marycklein avatar p-pole avatar sim-codes avatar viktoriussuwandi avatar werberger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

westernfriend.org's Issues

logins, permissions, privacy

develop clear public messaging near point-of-access to "login / register" field that presents:

  • clear info on different types of login accounts and their related permissions -- especially subscriber versus non-subscriber (noting that subscription involves payment, though "no one will be turned away for lack of funds")
  • link to our privacy policy and data-breach policy (to be developed!)

Add fixtures to get development site up quickly

When resetting the database, it takes a bit to set up new content structure. Create a few fixtures to at least set up the primary content, like

  • home page
  • index pages
  • magazine departments
  • authors

Current issue on Home Page not linking to issue

The current issue displays on the Home Page, but does not contain a link to the issue.

Task

When viewing the home page, the user can click on the current issue title or cover photo and will be directed to that issue.

Add max_count constraint to index pages

Several Page models in our project will only need one model instance, namely:

  • Home Page
  • Magazine Index
  • Magazine Tag Index

Since Wagtail 2.4 release, there is now a max_count property that can be added to models, to constrain the number of model instances.

Add max_count = 1 to the above mentioned models.

Determine how to store address information

Several of our content types will need to have associated address information. E.g. meeting worship address, or organization mailing address.

Task

Determine a Django-centric approach to storing address information, primarily for addresses in U.S.

Add 'site slogan' field to site settings

Similar to WordPress, it would be nice to allow the Editor to set the site slogan through the UI.

Task

Add a 'site slogan' field to site settings. This slogan value should appear on the navbar and in the page meta.

Add keywords (i.e. topics) to Magazine Article

Magazine Articles should be classified with keywords. This will be used for search engine metadata and article recommendations.

Task

Articles have keywords field (many-to-many relationship) using taggit.

Add 'is_organization' field to Author model

We need a way to distinguish organizations from people when displaying authors. Add a boolean field, or some simple way to distinguish the organization. It might be as simple as using 'name' when only a given name is available.

Use three-wide grid for recent and archive magazine issues

In order to use space efficiently, we can display multiple magazine issues in the same row. This, for example, can be a three column grid with wrapping.

Task

Magazine issues, in both recent and archive sections, show up side-by-side. After a number, say three, have displayed, the next will be displayed in a new row.

Add suffix field to Author model

The Author model contains a given_name and family_name. However, some author names have suffixes, such as "III" or "Jr."

Task

Add a suffix field to the Author model.

Add sitemap for Magazine content

In order to improve search engine indexing, we can publish a sitemap.

Task

Create a sitemap for the Magazine Articles and Magazine Issues.

Initial faceted search prototype

We really like the faceted search in the media library of the current website.

Set up faceted search for the Media library and/or Magazine Issue/Article models.

Create Author page, showing author's articles

Magazine Author page should show name and related articles.

Task

Create 'Author' page listing all content from a given author. Content should be posted in reverse chronological order. On related content pages, provide a link to the Author page (e.g. on the Article page, link to the Author).

Create unified Directory of Meetings

Shape out the initial Meeting data type, including the possibility of meetings having relationships to:

  • one another
  • memorial minutes
  • news items
  • events
  • other content types

Add Current Issue to Home Page

The Home Page should show the cover photo and title for the latest magazine issue. Clicking the title or cover photo should take the user to the magazine issue page for that issue.

Enhance Article authors display

We left off last live code session with a couple of missing elements regarding magazine Article Authors.

Task

Add the following Magazine Article Authors improvements:

  • Show the Authors on the Article page
    • authors should be listed like given_name family_name, given_name family_name
  • Inside for loop, check for forloop.last and show 'and' before the last item

Useful resource(s)

See the article Django Template Tags and Filters for examples of forloop.last.

Add Author model and connect to Magazine Article

Magazine Articles have one or more authors. The authors will have a first and last name.

Task

  • Add Author model (or perhaps Person).
  • Add slug field to Author model
  • Author model fields should include first and last name.
  • Add authored_by relationship to Magazine Article model (many-to-many).
  • Display authors on Magazine Article
  • Add convenient UI for inline selection (and possibly creation) of Author from Article edit page
  • Magazine Author page should show name and related articles.
  • Magazine Author page should use slug in URL

Add Community app

The Community app contains the following:

  • Annual Sessions
  • Photos
  • Directory of Meetings
  • Upcoming Events
  • Quaker Nonprofit Organizations
  • Online Worship
  • Friends Everywhere
  • Western Friend Connect

All of those are 'sections' on the Community Index page.

Article Author field not searching by family name

When searching for authors while adding an article, searching by the last name doesn't return expected results. The field seems only to search for authors who's given name starts with the search string.

Task

Fix the article author search, so that it performs a fuzzy search across given and family names.

Add Subscription feature

We want users to subscribe to the magazine and pay a recurring fee.

Task

  • Create a monthly recurring subscription feature
  • Ideally, subscription options would populate directly from Braintree
  • Allow users to manage their subscription from the User Profile section

Implementation details

Allow Library item facet fields to be explored by clicking links

In each LibraryItem are several fields, including genre, topic, etc. Currently, the fields are rendered only as text in the LibraryItem template.

Task

Allow users to click on a library item "facet", such as genre, and be taken to a listing of all other library items with the same value for that facet.

Add User Profile page

We need an initial User Profile page, to serve as the foundation for further work.

Task

Create a basic User Profile page with the ability to edit:

  • first name
  • last name
  • password

Add user authentication routes and templates

We need to handle user registration, login, logout, forgot password, etc.

Task

Add user authentication routes and templates to project. If desirable, add crispy forms to easily style the forms with Bootstrap classes.

Events should have start time

Events currently have only starting date. It is important for people to know what time the event starts, so they can plan their daily schedule.

Add a time component to the event start date.

Allow ordering of departments on Magazine Issue

Mary would like to specify the order that departments display on the Magazine Issue page. This ordering will be specified once, and apply to all Magazine Issues.

See whether a drag and drop UI is possible.

LibraryItem topic(s) should allow multi-select

The LibraryItem topic field currently only allows a single selection. Discuss with @marycklein whether she wants the field to be a multi-select.

Task

If the topic field should be multi-select, define an easy way for multiple values to be selected. Consider also renaming the field, or ManyToMany relationship, to topics.

Possibly related to #604

Add 'site name' field to site settings

Similar to WordPress, it would be nice to allow the Editor to set the site name through the UI.

Task

Add a 'site name' field to site settings. This site name value should appear on the navbar and in the page meta.

Add Bootstrap CSS framework to project

We agreed to use an existing, mature CSS framework to help style the frontend pages. To this end, I am recommending we continue working with Bootstrap, but move to Bootstrap 4.

Re-do Departments feature

Departments will need to have a top-level page for each department. On that page will be listed all articles published for that department.

Add Navigation Menu configuration section

It would be cool to manage the Navigation Menu through the Settings UI. E.g. to have a NavigationMenu content type, allowing one instance, that has a stream field that allows you to select various structs containing a page reference or url and a title.

Register form should require first and last names

Currently, the registration form contains first and last name fields that aren’t required. Make sure the fields are required.

Original issue

Would be helpful to encourage new registrants to share their Monthly Meeting if they have one.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.