Skip to content

Update and refactor festival datatype #335

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 of 6 tasks
giplt opened this issue Aug 6, 2020 · 2 comments
Open
1 of 6 tasks

Update and refactor festival datatype #335

giplt opened this issue Aug 6, 2020 · 2 comments
Assignees

Comments

@giplt
Copy link
Contributor

giplt commented Aug 6, 2020

Here's a number of suggestions to improve the festival datatype:

  • Refactor festival module to new pagetype coding style Converge to one coding style for datatypes #135 Convert festival to new datatype style #337
  • Add 'about'-field to show in the festival default view, preferably by making use of the existing mechanisms for the datatype webpage, i.e. rich content trough wymeditor, revisions, translations
  • Add 'excerpt'-field to show on top in lineup and timetable views
  • Add location, time and tags to festival module contributions: On signing up participants can currently say which days they intend to join. It would be helpful for building the timetable if in stead they would enter their preferred location(s), day(s) and add at least one tag for a theme that fits their contribution.
  • Make page configurable through a web interface: A workable first approach could be a simple textarea containing the current xml. Slightly better would be multiple textareas for separate chunks of information in the settings xml. Of course the best would be dropdown menus, checkboxes etcetera for noobs to set up a festival. However that could be done in a next iteration, considering also Refactor datatype festival #133.
  • Add translations: Relatively easy would be adding support for multilingual contributions (perhaps reusing what is currently in place for the datatype webpage). A bit trickier is the translation of email templates that may need filling in certain fields. This should ideally make use of the translation/dictionary support. Possibly we should make all translations editable through a separate settings page and add messages (also from festival) there?
@giplt giplt changed the title Add location, time and tags to festival module contributions Update and refactor festival datatype Aug 10, 2020
matthijskooijman added a commit that referenced this issue Aug 19, 2020
Among some other things, this:
 - Introduces class constants for all tag and attribute names in the
   page XML.
 - Updates process() to the new style, also handling commands there
   instead of using registerCommand.
 - Updates view / command method names to the new style.
 - Makes form generation and handling consistent, using hypha_substitute
   and making more parts translated.
 - Add makeActionButton and constructFullPath helpers (to be generalized
   later).
 - No longer uses global variables.
 - Use variable substitution when generating e-mails.
 - Return 404 where appropriate.
 - Styling is removed from the HTML and moved to the CSS file (except
   for the timetable, which should probably be rewritten anyway).

This also makes some functional changes:
 - Signup and contribution forms now have a default value for when they
   are not specified in the XML (these would have to be manually edited
   in the XML file up until now).
 - E-mails are now stored as translation texts and no longer
   configurable in the page XML, since there was minimal customization
   in practice and this makes things simpler.

This relates to #135 and #335.
@matthijskooijman
Copy link
Contributor

On signing up participants can currently say which days they intend to join. It would be helpful for building the timetable if in stead they would enter their preferred location(s), day(s) and add at least one tag for a theme that fits their contribution.

I think these would be separate features (that can co-exist): The former "what days to join" was intended to know how much participants to expect (i.e. how much lunch to arrange), while the latter "info about a contribution" would be intended to help create the timetable.

A bit trickier is the translation of email templates that may need filling in certain fields.

In #337, I've moved the e-mail content from the page XML to be translated strings, which means they're trivial to translate, but no longer customizable at all. This might need some more work to allow both translating and customization...

Possibly we should make all translations editable through a separate settings page and add messages (also from festival) there?

Yeah, this thought has also occurred to me, maybe this is something to be implemented now, then...

matthijskooijman added a commit that referenced this issue Aug 24, 2020
Among some other things, this:
 - Introduces class constants for all tag and attribute names in the
   page XML.
 - Updates process() to the new style, also handling commands there
   instead of using registerCommand.
 - Updates view / command method names to the new style.
 - Makes form generation and handling consistent, using hypha_substitute
   and making more parts translated.
 - Add makeActionButton and constructFullPath helpers (to be generalized
   later).
 - No longer uses global variables.
 - Use variable substitution when generating e-mails.
 - Return 404 where appropriate.
 - Styling is removed from the HTML and moved to the CSS file (except
   for the timetable, which should probably be rewritten anyway).

This also makes some functional changes:
 - Signup and contribution forms now have a default value for when they
   are not specified in the XML (these would have to be manually edited
   in the XML file up until now).
 - E-mails are now stored as translation texts and no longer
   configurable in the page XML, since there was minimal customization
   in practice and this makes things simpler.

This relates to #135 and #335.
matthijskooijman added a commit that referenced this issue Aug 24, 2020
Among some other things, this:
 - Introduces class constants for all tag and attribute names in the
   page XML.
 - Updates process() to the new style, also handling commands there
   instead of using registerCommand.
 - Updates view / command method names to the new style.
 - Makes form generation and handling consistent, using hypha_substitute
   and making more parts translated.
 - Add makeActionButton and constructFullPath helpers (to be generalized
   later).
 - No longer uses global variables.
 - Use variable substitution when generating e-mails.
 - Return 404 where appropriate.
 - Styling is removed from the HTML and moved to the CSS file (except
   for the timetable, which should probably be rewritten anyway).

This also makes some functional changes:
 - Signup and contribution forms now have a default value for when they
   are not specified in the XML (these would have to be manually edited
   in the XML file up until now).
 - E-mails are now stored as translation texts and no longer
   configurable in the page XML, since there was minimal customization
   in practice and this makes things simpler.

This relates to #135 and #335.
@matthijskooijman
Copy link
Contributor

matthijskooijman commented Sep 1, 2020

Add 'about'-field to show in the festival default view, preferably by making use of the existing mechanisms for the datatype webpage, i.e. rich content trough wymeditor, revisions, translations
Add 'excerpt'-field to show on top in lineup and timetable views
Add translations:

These are partly covered by #341, though editing and revisions for the about and excerpt fields is not supported yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants