Goal is to create an interface, something like a special page, to assess a Wikipedia page's quality and importance given a particular WikiProject. This information will be stored properly in a database table (specific implementation stuff is discussed below) so that the information can be more readily analyzed and so WikiProjects won't need to deploy banners to talk pages. (However, they can still do so if they want.)
Rationale: Article assessments help WikiProjects prioritize work and measure progress. WikiProject Medicine for example has metrics for getting articles to a certain level of quality. See https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Medicine#Goals
To prevent duplicate work, WikiProjects will not be able to store assessment information in template calls. WikiProjects would register to use this extension, and there would be a transition process to migrate assessments over to the new system. The nature of the migration will depend on the exact implementation (see below).
**Workflow**
There are different options for going about this. I defer to @Isarra on how best to design this, but some initial ideas.
# A special page with a simple form up top and the contents of an article below. Articles loaded would be those within the scope of a WikiProject as defined through the CollaborationKit content model or through a specific category such as [[ https://en.wikipedia.org/wiki/Category:WikiProject_New_Hampshire_articles | Category:WikiProject New Hampshire articles ]]. As an article is assessed, you move on to the next one. You could use URL parameters to force a certain article to load; otherwise, a random article within scope is loaded.
# A button within a Wikipedia article to assess (alongside buttons such as move, view history, etc). The assessment form would "pull out" from the top of the article like a drawer, or users would go to a separate page to do the assessment. (The latter would be the non-JavaScript option.)
Form would be a basic form that lists the WikiProject, the article quality class, and the article important class. It is important that the WikiProject be able to define these for themselves, since different WikiProjects use different systems (depending on their needs), but WikiProjects can use a default ranking system.
**Technical Implementation Discussion**
T120219 describes the deployment of an extension that will populate a `page_assessment` database table through ParserFunctions included on WikiProject talk-page banners. Initial CollaborationKit planning as found in T123028 specified that this table would be used to store assessments performed through the extension.
Discussion with @MZMcBride in T120219 suggested using `page_props` as an alternative, making use of existing MediaWiki tables rather than a custom one-off table. `page_props` is a fairly straightforward table where rows represents pages, arbitrary keys, and values corresponding to those keys. In such a system, the keys would be `class_####` and `importance_####`, where `####` represents the page ID of the WikiProject.
The advantage of using the `page_assessment` table is that it is in line with what the Page Assessment extension is using, keeping the same sort of information consolidated in one place. The advantage of using `page_props` is that it allows an easier transition between template-based assessment and extension-based assessment, but then data is in two separate places.