Skip to content
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

Project editor refactor and RSR / IATI split #1895

Closed
9 tasks done
KasperBrandt opened this issue Nov 6, 2015 · 18 comments
Closed
9 tasks done

Project editor refactor and RSR / IATI split #1895

KasperBrandt opened this issue Nov 6, 2015 · 18 comments

Comments

@KasperBrandt
Copy link
Contributor

Test plan

As this is a large change (a complete refactor) of the project editor, it should be tested thoroughly. The following points should definitely be tested:

Editor basics:

  • All sections should save accordingly.
  • After saving, a green border is shown around the fields that have been saved. Only fields that were edited will be saved.
  • If fields cannot be saved, a red border is shown around the fields.
  • If the user has no permission to save the project, this should be shown in an error message (this can be faked by editing a project and removing the user's organisation from the project).
  • If clicked on any help icon, the help text should display.
  • Fields that have a max length should show the number of characters left while the user is typing.

Special cases:

  • Only a superuser should have the 'superuser options' on top of the screen. When these options are selected (e.g. private or impact project), the project should immediately be changed (to a private or an impact project).
  • It should be possible to switch between an 'RSR related project' and a 'Related project IATI identifier' for related projects.
  • It should not be possible to remove the last partner. The delete icon will then be hidden.
  • It should not be possible to select multiple reporting partners.
  • When the reporting partner is chosen, the 'Secondary reporter' field is shown. For all other partner roles, the 'Funding amount' field is shown. However, the 'Funding amount' field is only active when the partner is a funding partner.
  • The 'Other label extra info' for budget items should only be enabled when the 'Other' budget item is selected.
  • It should be possible to switch between uploading a document and specifying the URL of a document for project documents.

Validation sets and progress bars:

  • It should be possible in the 'old' admin to set the validation sets (see /en/admin/rsr/projecteditorvalidationset/). By default the RSR and IATI validation sets have been created.
  • Superusers, RSR admins and organisation admins of a paying partner should be able to select or delete any validation set (called progress bar in the editor) of the project in the project editor, except for the RSR validation set.
  • The RSR validation set should be selected for all projects by default and for all new projects, and it should not be possible to change any field of the RSR validation set.
  • It should be possible to select a progress bar on top of the project editor and the progress bars per section should respond to the selected progress bar.
  • It is possible to have 'OR'-mandatory fields, meaning that only one of multiple fields needs to be filled in for the progress bar to respond (see start date planned and actual in the RSR validation set).
  • Mandatory fields in a related object (with the slightly yellow background) should only be taken along when one of the fields of the related object is filled.
  • Related objects themselves (e.g. 'sectors') can also be mandatory, indicated by the red * behind the header of the related object. This means that at least one of these related objects should be filled (e.g. at least one sector should have a field filled in).
  • The combination of the above rules could lead to a full progress bar when nothing is filled in, but a partly filled progress bar when the user starts to fill in a related object (e.g. in IATI a related project is not mandatory, but when you fill in a related project, you should fill both the project and the relation fields).

Issue description

For an overview of the discussion around the RSR and IATI editor split, see this document.

  • Code refactor
  • Better photo and document upload (see Better handling of photo and document uploads #1760)
  • Improve error handling: add the fields that not saved correctly to message
  • Add country / latitude / longitude as mandatory fields in the 'Add new organisation' modal
  • No default organisation type (Plan Finland request)
  • Change 'Add new organisation' to 'Save' (A4A request)
  • Add 'Private' checkbox for superusers
  • One progress bar with combined validation sets
  • Mandatory indicators of underlying objects only show when object is filled in
@lauraroverts
Copy link

Background
At this moment the Project editor is confusing for partners who do not publish according to the IATI standard.Therefore the Project editor will be split so that for partners who want to publish their projects to RSR, only RSR related fields will be visible. Partners who choose to publish their project to the IATI standard, will be able to thick a checkbox and compulsory and non-compulsory IATI fields will become visible.

Decisions:

  • A partner can now choose if they want to publish their project to RSR or RSR + IATI. This means that every project that will be published in RSR can only be published if all mandatory RSR fields are completed.
  • There will be two progress bars that indicate your progress. One for RSR and one for IATI

@KasperBrandt KasperBrandt changed the title Project editor without IATI fields Project editor refactor and RSR / IATI split Nov 18, 2015
@mtwestra
Copy link

four questions for @lauraroverts and @KasperBrandt

  1. what are the current ideas for letting the user choose which 'standard' she wants to follow?
  2. which standards do we use? RSR, IATI full, IATI minimal, IATI DGIS?
  3. when a user selects a standard, do we hide the other fields?
  4. how do we show when a field is mandatory?

@KasperBrandt
Copy link
Contributor Author

  1. Currently my idea is to show the RSR editor by default (no IATI fields at all), and have an 'Advanced editor' (which should be named 'IATI editor' probably) option. That will show all IATI fields + an additional IATI progress bar. My idea is that we can also add another progress bar that the user can choose. E.g. 'Add another progress bar' or something similar. This could be used to select DGIS validations (or other validations that we might have in the future).
  2. So far, we only have "RSR" and "RSR + IATI full".

My two main question right now is how to differentiate between the different mandatory fields. How do we show what fields influence each of the progress bars? RSR mandatory fields are indicated with a red *. So far the only thing I can think of is to indicate the other mandatory fields with a different color *, but @lauraroverts thinks this will get confusing.

Also; we now show a progress bar in every section header. There's no room for more than 1 progress bar there. So it will be hard to make the same differentiation per section.

@stellanl
Copy link
Contributor

The worst choice for "IATI mandatory" fields would be a green *. (Lots of colour-blind people out there.) There are other symbols, like § ▲ ⊙ ¹ .
Alternatively, show/hide the relevant red asterisks depending on mode.

@mtwestra
Copy link

@KasperBrandt, @lauraroverts,

I have been looking at https://docs.google.com/spreadsheets/d/1iwnT5XIdmxhVKJfenF03jjyDbdyJV5oj19O1M-EJZ-Y/edit#gid=0, and I have a few questions about that:

  1. Could we also show which fields we show for IATI when 'show advanced IATI fields' is selected? And how do we determine what is 'advanced'?
  2. In the results & indicators section, we seem to not show a lot of fields that seem relevant to the results framework, such as 'Result description', and 'indicator description'. That seems odd?

@mtwestra
Copy link

@KasperBrandt, @lauraroverts
In preparing for the IATI-only editor, it might be unwise to structure the editor as 'RSR by default', IATI as 'advanced editor' mode. Perhaps an alternative is let people select which 'project template' for mandatory fields to use for a project, RSR or IATI or Both, and in addition to have a checkbox for 'advanced IATI' fields, as we do now? Or, a more fancy solution, the ability for organisations to select their own selection of non-mandatory fields to show.

@mtwestra
Copy link

@KasperBrandt, @lauraroverts, a proposal for the requirements:

  1. The editor should support publishing to these combinations:
    * RSR only
    * IATI only
    * RSR and IATI
  2. The editor should support different selections of IATI mandatory / non-mandatory fields, both to support organisations' own preferences, and to incorporate IATI-publishing flavours from DGIS, DFID, etc.
  3. If the project is RSR only, the progress bars should show RSR progress. If the project is IATI only, the progress bars should show IATI progress. If the project is both, The user should be able to easily switch between the RSR and IATI progress bars.
  4. Publishing to either IATI or RSR should only be allowed if the project adheres to the standards selected.

@lauraroverts
Copy link

Regarding how to structure the editor: I propose: If you add a new project, you first have to indicate if you are going to publish your project to RSR or 'RSR + IATI'. (It was decided to skip publishing to IATI without RSR.) So depending on what you choose here, the Project Editor shows you the relevant fields. If you publish to RSR, you won't see IATI identifier for example. RSR + IATI shows all fields.
Depending on what you have chosen, the progress bar will 'know' which fields are compulsory and shows the progress.

@KasperBrandt
Copy link
Contributor Author

That is an interesting option, which brings other questions to mind though:

  1. To what publishing rules will we set the current existing projects? Only 'RSR'?
  2. Do we make a distinction between publishing to RSR and to IATI? E.g. a project that has been set to 'RSR + IATI' could be published only in RSR when all RSR mandatory fields have been completed, even though some IATI information is missing. Will that be allowed?

@mtwestra
Copy link

@lauraroverts, ok, clear.
@KasperBrandt, on question one: yes. If people than want to publish to IATI, they need to go through them and check if they adhere to the standard, which is fine.
On question 2: yes, publishing to RSR and publishing to IATI are two different things. You can publish to RSR and not yet to IATI. In fact, that will be a case that happens a lot: People start with RSR, and publish their project, and later want to publish to IATI as well.

@KasperBrandt
Copy link
Contributor Author

@mtwestra Hm, yes, that's what I was thinking too. That leaves us with the same issue on progress bars though. If we show one for RSR (if completed, it's possible to publish project in RSR) and one for IATI (if completed, it's possible to publish to IATI) on a 'RSR + IATI' project, what would be wise in order to distinguish the RSR or IATI mandatory fields?

@lauraroverts
Copy link

Why distinguish? If you choose to publish to RSR + IATI, there will be just a few more fields with a red asterix. If there is one progress bar, the bar knows which fields are mandatory, so you can easily see when it is ready to publish to RSR + IATI.

If you choose to publish to RSR, you won't see these IATI mandatory fields.

@mtwestra
Copy link

In the case of an RSR only project, the situation is clear.

Say we have and RSR+IATI project, in which all mandatory RSR fields have been filled in, but not all mandatory IATI fields. What should we show? If we use a 'combined' progress bar, the user might conclude that the project cannot be published to RSR, while that is not the case.

@lauraroverts
Copy link

Decision regarding progress bars when selecting RSR + IATI:

  1. have two overall progress bars at the top - IATI and RSR: you can switch between these. If you do, the mandatory fields of the selected progress bar are indicated on the page (and also reflect in the section progress bars)
  2. for the progress bars per section allow switching between RSR and IATI at the top (like having two tabs) to give you the 'RSR compliancy view' and the 'IATI compliancy view'

@mtwestra
Copy link

I would probably show both overall progress bars at the same time - it is quite clear I think.

@KasperBrandt
Copy link
Contributor Author

Yup, this makes sense. Another question; where would we set if a project is RSR or RSR + IATI? And who has the permission to set or change this?

KasperBrandt added a commit that referenced this issue Nov 20, 2015
KasperBrandt added a commit that referenced this issue Nov 20, 2015
@KasperBrandt KasperBrandt removed this from the 3.9 Maseru milestone Nov 20, 2015
zzgvh added a commit that referenced this issue Dec 15, 2015
The data migration 0045 won't work when pk=1 is included when creating
the first object. At least on my vagrant box I get a unique constraint
error, so I'm removing the setting of the pk.

This means it's imperative to run migration 0044 and 0045 at the same
time to guarantee that the RSR validation set gets pk=1.
zzgvh added a commit that referenced this issue Dec 15, 2015
[#1895] Project editor refactor and validation sets
@lauraroverts lauraroverts reopened this Dec 17, 2015
@lauraroverts
Copy link

Before we can request the partnerteam and partners to test the new functionality, I've got a few comments that we need to discuss. If I look at http://rsr.test.akvo.org/en/myrsr/project_editor/4236/, then:

  • I can choose a progress bar from the dropdown menu and switch between the bars. However, once I delete a bar, by clicking the red cross, I can't get it back anymore, unless I refresh the page.
  • More than one bar is going to be confusing. E.g. If I click the 'Plan and target' bar, it is not obvious anymore that the RSR mandatory fields are still mandatory. When I fill in a project title, I see the progress on each bar changing, including the bars I didn't select.
  • The idea is we can create a dataset according to the DGIS IATI requirements for example. Does this mean that not ALL IATI fields are shown in the project editor? What if a partner also wants to fill in fields that are not mandatory?
  • How can we make sure that an organisation specific ruleset / custommade progress bar can only be choosen by that specific organisation?

zzgvh added a commit that referenced this issue Dec 17, 2015
Use the values for ProjectEditorValidation.MANDATORY_ACTION and
ProjectEditorValidation.HIDDEN_ACTION when creating validation objects.
zzgvh added a commit that referenced this issue Dec 17, 2015
Add PublicProjectViewSet.project_relation field used in get_queryset()

Refactor PublicProjectViewSet.get_queryset(). The new code removes the
need for get_queryset() in sub-classes to filter out non-public
projects, instead relying on overriding the value of
PublicProjectViewSet.project_relation.
@KasperBrandt
Copy link
Contributor Author

  • Yup, that's how it works now.. Didn't have enough time to actually implement that the progress bar is selectable after you remove it. But if we return to the 'one progress bar' implementation, it's not needed anyway.
  • Same as above, that's how it works now, but if we opt for one progress bar, then that will probably change.
  • That depends on how you setup the progress bar now. You can hide or show any field you'd like.
  • That's an interesting feature. We could add a feature that some progress bars are only selectable by certain organisations.

Since we've got some time before next release, I'm wondering what to do now?

  • Switch to one progress bar?
  • What to do about the publishing button?
  • Who should be able to create a new ruleset? Should it be possible to make these organisation specific / how would that work?
  • Who should be able to select a progress bar for a project? And where?

zzgvh added a commit that referenced this issue Jan 19, 2016
[#1895] One progress bar in project editor
Code reviewed
@MichaelAkvo MichaelAkvo moved this to Done in RSR Dec 8, 2022
@MichaelAkvo MichaelAkvo added this to RSR Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

5 participants