To-do

From Redazione
Jump to navigation Jump to search
m (Admin moved page To-do to Development/To-do without leaving a redirect)
 
(38 intermediate revisions by 2 users not shown)
Line 3: Line 3:
  
  
* Create form "Meeting participant"
+
*Create form "Meeting participant"
 +
 
 
(First name, Last name, email, phone number, status (attended/invited), description (textarea)
 
(First name, Last name, email, phone number, status (attended/invited), description (textarea)
(eventually: "linked_to", with a multiple select with names of all other participants to the same meeting ... or use another hypothetical form for this) (DONE)
+
(eventually: "linked_to", with a multiple select with names of all other participants to the same meeting ... or use another hypothetical form for this) '''(DONE)'''
 +
 
 +
*Create sidebar entries with forms: Add Language course student, Add member, Add meeting participant -- '''DONE''' using page /MediaWiki:Sidebar
  
* Create sidebar entries with forms: Add Language course student, Add member, Add meeting participant
+
*Reorder our private wiki in order to just have (on the root level) :
 +
**List of language course students
 +
**List of members
 +
**List of meeting participants
  
* Reorder our private wiki in order to just have (on the root level) :
+
and create a main page reflecting this structure with cards similar to the public mainpage '''DONE'''
** List of language course students
 
** List of members
 
** List of meeting participants
 
  
and create a main page reflecting this structure with cars similar to the public mainpage
+
*Create a form "Newsletter", with fields: Date, audience subset/segment, message (this will be filled in by the frontend/nodejs script, but the sending could be also managed in the wiki itself) '''(DONE)'''
  
* Create a form "Newsletter", with fields: Date, audience subset/segment, message (this will be filled in by the frontend/nodejs script, but the sending could be also managed in the wiki itself) (DONE)
 
 
"message" could be split in "message text" and "message html" (the latter with template)
 
"message" could be split in "message text" and "message html" (the latter with template)
  
* Create a form "Newsletter stats", with fields (first name, last name, email, opens (list of dates), clicks (list of dates and url) -- data of this form will be created by a nodejs script through sendgrid (or other mail provider) hooks *** try to create automatically it, see point below ***
+
-- '''aggiungere: "subject"'''
 +
 
 +
*Create a form "Newsletter stats", with fields (first name, last name, email, opens (list of dates), clicks (list of dates and url) -- data of this form will be created by a nodejs script through sendgrid (or other mail provider) hooks *** try to create automatically it, see point below ***
 +
 
 +
*<nowiki>***attention: in a further version of the system all these forms/properties/templates could be automatically created, even localized in a given language, by a server side script, in order to easily allow creation, and update, of (public/) private wiki instances</nowiki>
 +
 
 +
*set a specific folder for files (named [organization]/media) '''Done'''
 +
 
 +
*create a demo private wiki (in this case or public or with a test account with public password) for showcasing
 +
 
 +
*form "member" (or "organization member") : add field "groups": a select with the list of existing group and the ability to create a new one.
 +
This requires another form-template "add group", and the ability from a script in the form to create a new wiki page with that template through mw.api
 +
 
 +
* create a form "class" to solve the problem of determining relationships (join) between courses and students from the page structure (not a good practice because the structure can change, for instance students may have multiple courses as subpages or a course may have multiple students as subpages). If we only rely on "classes", we organize things like that: personal data of students are always called as page and subpages of the form student. Then we create a class still on the private wiki with fields: course url (public information of the course: the "class" represent the set of participants of a given course), participants: followed by the list of participants, then we can have also multiple classes referring to the same course, eg. class of Monday-Wedn. and class of Tue-Thue, and even further fields...
 +
 
 +
'''Done''' -- remove the url from the form "class" and ensure the class name correspond
 +
to the course name on the public wiki (as specified in the site's row)
  
* ***attention: in a further version of the system all these forms/properties/templates could be automatically created, even localized in a given language, by a server side script, in order to easily allow creation, and update, of (public/) private wiki instances
 
  
* set a specific folder for files (named [organization]/media)
 
  
* create a demo private wiki (in this case or public or with a test account with public password) for showcasing
+
* Create a namespace for the project "Culturaitaliana" or "CI" and put there all relevant pages, for instance "[organization]/Frontend Index", "Sidebar_LoggedIn", "Sidebar_SysOp", [organization]/Banner.jpg, etc. --- ok for those not belonging to an organization but in the latter case this conflicts with editing rights ...
  
  
Line 31: Line 47:
  
  
* Create a page, for instance /Sidebar Left, where to list forms and templates to be displayed handled from our extension (ci_culturaitaliana_addons)(FARE OGGI)
+
* (navigation menu) Create a page, for instance /Sidebar Left, where to list forms and templates to be displayed handled from our extension (ci_culturaitaliana_addons) ('''Done''' see below)
 +
 
 +
*Create a series of email templates in the path /Email templates/[template title]
  
* Create a series of email templates in the path /Email templates/[template title] (FARE OGGI)
 
 
we could create a form as well (to let the nodejs server side script retrieve them) with fields:
 
we could create a form as well (to let the nodejs server side script retrieve them) with fields:
 
name, authors, description, snapshot/preview (so that templates can be listed on the frontend site) the cointainer div of the form must use an identifier known by the nodejs script to parse it
 
name, authors, description, snapshot/preview (so that templates can be listed on the frontend site) the cointainer div of the form must use an identifier known by the nodejs script to parse it
  
* debug the files subfolder related functions
+
*debug the files subfolder related functions
  
* complete the pure-html forms (not PageForms) for retrieving contact information on the main page (server-side)
+
*complete the pure-html forms (not PageForms) for retrieving contact information on the main page (server-side) '''DONE'''
  
* change the upload folder name from "files" to "media"
+
*change the upload folder name from "files" to "media"
  
* display banner with our extenstion
+
*display banner with our extenstion ('''DONE''')
 +
 
 +
* (navigation menu) created pages [[Sidebar_LoggedIn]] and [[Sidebar_SysOp]] to be used by our extensions to display the sidebar. Complex parser functions inside MediaWiki:Sidebar do not work, see here https://www.mediawiki.org/wiki/Manual:Interface/Sidebar “Parser functions in sidebar” ('''Done''')
 +
 
 +
* create both on public and private wiki a function to create subpages, ensuring that internal pages are created as well (otherwise the frontend script will not recognize them as pages)
  
  
 
==Mediawiki fork==
 
==Mediawiki fork==
  
* set default "leave redirect" to false (on move page)
+
*set default "leave redirect" to false (on move page)
* set default "watch page" to false (where shown)
+
*set default "watch page" to false (where shown)
  
  
 +
==Frontend site==
 +
 +
*add ssr (server-side rendering) to organization page and redesign the navigation using router path ('''done''')
 +
 +
*create a page (with signin) to select a template, a segment/subset of recipients, enter a text message in a textarea and edit a template with ckeditor, then sending the message: all this information will be recorded in the form above "newsletters" in the private wiki
 +
 +
(<u>this page should also provide a way to save contacts through csv in the form organization member of the private wiki</u>)
 +
 +
*(organization's page) create a menu for languages (as described in my communication of 3th of April) '''DONE''', and a tab on the page header when a page is localized in multiple languages
 +
 +
*create the site's home page (like scambieuropei)
 +
 +
*show advertisements set by organizations, with books suggestions, digital libraries, opportunities (and other forms for general purpose) on the right panel/column through nodejs-socket.io-axios
 +
 +
*(organization's page) handle selection of pages based on the router event (so the navigation menu should contain router-links) ('''Done''')
 +
 +
*mention the libraries / technologies which we are using, eg. nodejs, vuejs, mediawiki, knex, lodash, quasar framework, esprima, htmlparser2, cheerio, semantic mediawiki, language detect, jsonwebtoken, mediasoup, nodemailer, email templates (and other relevant mediawiki plugins)
 +
 +
*add library to detect main language of a given page ***we could use the following https://github.com/NaturalNode/natural (even for topic categorization of contents) *** no, we are using "languagedetect.com" and google, see frontend script (nodejs)
 +
 +
*complete page with api calls examples
 +
 +
*post frontend/server scripts to a github public repository ? (see rather the following)
 +
 +
* ''' create an api interface for some common operations, like to retrieve pages with a given form, and providing some "join" ''' (by this way it's not necessary to publish on github the frontend-server side script)
 +
 +
 +
===Site structure===
 +
 +
* home page (fare alla fine sulla base di tutto il materiale e le funzioni da rappresentare)
 +
 +
* page: organizations: aggiungere icona "exit" sulla toolbar che rimanda alla home page; verificare se le pagine possono essere visualizzate sulla base di temi, ad es. handlebars (v. "ghost"), anche se poi si va ad utilizzare uno solo per tutte le organizzazioni-- per omogeneità
 +
 +
* page: newsletters:
 +
 +
** signin con credenziali wiki privato (in questo caso deve essere inserito anche l'username della organizzazione) oppure pubblico
 +
 +
** view a: lista delle newsletter già inviate
 +
 +
** view b: lista dei membri (audience) della organizzazione (recuperati dal wiki privato), aggiungi membro (vai a view b-a) oppure aggiungi lista (csv-comma separated values)
 +
 +
** view b-a: modifica membro (form "clone" di quella sul wiki privato)
 +
 +
** view c: lista dei gruppi (aggiungi, rinomina, cancella, come in "assigni")
 +
 +
** view c-a: modifica gruppo (aggiungi, rimuovi contatti, sulla base dell'elenco completo dei membri)
 +
 +
** view d: creazione newsletter: aggiungi uno o più gruppi (incluso "tutti i membri"), aggiungi singoli contatti; oggetto; casella di testo; pulsanti: plain test / rich text / html template (ckeditor); pulsante invio
 +
 +
** una volta inviata la newsletter viene salvata nel sito wiki privato, form newsletter
 +
 +
* page: classes/[nome classe] ('''Done''')
 +
 +
** overview (pubblico: informazioni sul corso, sulla base della form language_courses), campo per inserire email e pulsante sign in (se l'email appartiene ad uno degli studenti registrati nel corso (form language course  student), invia un codice a questa email oppure chiede di scegliere una password ('''Done''', with reference to "classes")
 +
 +
** pagina privata dello studente (l'url è la stessa) visualizza la pagina dello studente creata nel wiki privato, inoltre: informazioni sugli altri partecipanti del corso; interfaccia per la lezione in videoconferenza ('''Done''', videoconferencing to be completed)
 +
 +
* funzioni da aggiungere alla pagina "organizations/[nome organizzazione]"
 +
 +
** paying content: alcuni contenuti possono essere fruibili a pagamento e quindi registrati nel wiki privato; modalità di fruizione: si acquista una combinazione fra numero di parole e tempo speso nella lettura (da valutare meglio), es. 10 000 parole a 5 euro, non relativo ad uno contenuto, bensì a contenuti della intera biblioteca; implementare pwa (progressive web application) in modo da rendere i contenuti fruibili anche online ; implementare una sorta di lettura "paragrafo per paragrafo", con statistiche inviate all'autore, etc.
 +
 +
* sulla barra destra, in tutte queste pagine, vengono sempre visualizzati gli annunci pubblicitari, opportunità, digital libraries, reading suggestions, etc.
 +
 +
* prendere in esame tutte le form e valutare come il sito front end può essere arricchito sulla base di esse
  
==Frontend site==
 
  
 +
* Riorganizzazione della pagina della organizzazione:
  
* create a page (with signin) to select a template, a segment/subset of recipients, enter a text message in a textarea and edit a template with ckeditor, then sending the message: all this information will be recorded in the form above "newsletters" in the private wiki
+
** url: culturaitaliana.org/istitutoculturaitaliana (organizzazione username)
 +
(lo username viene assegnato al momento dell'iscrizione)
  
* (organization's page) create a menu for languages (as described in my communication of 3th of April) and a tab on the page header when a page is localized in multiple languages
+
** culturaitaliana.org/istitutoculturaitaliana/pages (attuale sito frontend della organizzazione, con tutte le pagine del wiki pubblico)
  
* create the site's home page (like scambieuropei)
+
** culturaitaliana.org/istitutoculturaitaliana/newsletters (signin amministratori)
  
* show advertisements set by organization, books suggestion, digital libraries, opportunities (and other forms for general purpose) on the right panel/column through nodejs-socket.io-axios
+
** culturaitaliana.org/istitutoculturaitaliana/classes (signin studente)
  
* (organization's page) handle selection of pages based on the router event (so the navigation menu should contain router-links)
+
** altre pagine che non rientrano nella tipologia di articolo ma che offrono funzionalità (es. "questionari")
  
* write list of libraries / technologies which we are using, eg. nodejs, vuejs, mediawiki, knex, lodash, quasar framework, esprima, htmlparser2, cheerio, semantic mediawiki (and other relevant mediawiki plugins)  
+
No, usare al momento il seguente:
 +
* culturaitaliana.org/organizations/Istituto_cultura_italiana_(NGO)
 +
* culturaitaliana.org/newsletters/istitutoculturaitaliana (username wiki privato)
 +
* culturaitaliana.org/classes/istitutoculturaitaliana (username wiki privato)
  
* add library to detect main language of a given page ***we could use the following https://github.com/NaturalNode/natural (even for topic categorization of contents)
+
organizzazione di "classes":
 +
* scheda studente wiki privato, eventualmente con sottopagine ('''Done''')
 +
* class: videoconferenza con tutti gli altri studenti, e chat
  
* complete page with api calls examples
 
  
* post frontend/server scripts to a github public repository ?
 
  
  
Line 78: Line 167:
 
==Web server==
 
==Web server==
  
 
+
*Review the directory structure, for instance
* Review the directory structure, for instance
+
**culturaitaliana.org/[organization name]/ -> front end site (vuejs)
** culturaitaliana.org/[organization name]/ -> front end site (vuejs)
+
**culturaitaliana.org/wiki/ -> public wiki (without language code) (php)
** culturaitaliana.org/wiki/ -> public wiki (without language code) (php)
+
**culturaitaliana.org/wiki/[organization name]/wiki -> public wiki site (php)
** culturaitaliana.org/wiki/[organization name]/wiki -> public wiki site (php)
+
**culturaitaliana.org/[other pages] ->  -> front end site (vuejs)
** culturaitaliana.org/[other pages] ->  -> front end site (vuejs)
+
**culturaitaliana.org/organization name]/wiki -> private wiki site (php)
** culturaitaliana.org/organization name]/wiki -> private wiki site (php)
 
  
 
(n) this folder structure implies that an organization cannot have name "wiki" (ok) but also that "wiki" cannot be the title of a page/article of an organization (not ok)
 
(n) this folder structure implies that an organization cannot have name "wiki" (ok) but also that "wiki" cannot be the title of a page/article of an organization (not ok)
 
a solution could be:
 
a solution could be:
 
culturaitaliana.org/wiki/Istituto_cultura_italiana_(NGO) (public wiki)
 
culturaitaliana.org/wiki/Istituto_cultura_italiana_(NGO) (public wiki)
culturaitaliana.org/wiki-private/Istituto_cultura_italiana_(NGO) (private wiki)
+
culturaitaliana.org/private-wiki/Istituto_cultura_italiana_(NGO) or culturaitaliana.org/private-wiki/istitutoculturaitaliana (private wiki)
 
(the latest "Istituto_cultura_italiana_(NGO)" being a username while the first a page name)
 
(the latest "Istituto_cultura_italiana_(NGO)" being a username while the first a page name)
so that whatever folder not starting with wiki/ or wiki-private/ will be redirected to the frontend
+
so that whatever folder not starting with wiki/ or private-wiki/ will be redirected to the frontend through a proxy
  
 +
use the library  https://www.npmjs.com/package/connect-history-api-fallback  if necessary
  
  
use the library  https://www.npmjs.com/package/connect-history-api-fallback  if necessary
+
==Maintenance==
  
  
==Maintenance==
+
*Export all members of our organization in our private wiki (form member) (through a script)
  
 +
*(Export all communication with more than 1 recipient to the private wiki: this will require a further form, and is related to another phase of the project, regarding dissemination of literary works using a web app allowing to read them offline but at the same time tracking reading information etc..)
  
* Export all members of our organization in our private wiki (form member) (through a script)
 
* (Export all communication with more than 1 recipient to the private wiki: this will require a further form, and is related to another phase of the project, regarding dissemination of literary works using a web app allowing to read them offline but at the same time tracking reading information etc..)
 
  
 +
==Bugs==
  
==Near-future development==
+
* fix issue with image folder on private wiki ('''SOLVED''')
 +
* il select al seguente indirizzo
 +
https://culturaitaliana.org/w/en/index.php?title=Istituto_cultura_italiana_(NGO)/Language_courses/Impariamo_l%27italiano_2019-2020_A2&action=formedit
 +
non funziona in modo appropriato
  
  
* The data related to meetings and meetings participant might make use of "facial recognition" in order to help to locate participants in the photographic album related to the meeting
+
==Near-future development==
  
  
{{Anteprima documenti
+
*The data related to meetings and meetings participant might make use of "facial recognition" in order to help to locate participants in the photographic album related to the meeting
|Filename=Istituto_cultura_italiana_(NGO)/Documents/Istituto_cultura_italiana (NGO)_-_brochure 2017.pdf
 
}}
 

Latest revision as of 22:29, 13 February 2021

Private wiki

  • Create form "Meeting participant"

(First name, Last name, email, phone number, status (attended/invited), description (textarea) (eventually: "linked_to", with a multiple select with names of all other participants to the same meeting ... or use another hypothetical form for this) (DONE)

  • Create sidebar entries with forms: Add Language course student, Add member, Add meeting participant -- DONE using page /MediaWiki:Sidebar
  • Reorder our private wiki in order to just have (on the root level) :
    • List of language course students
    • List of members
    • List of meeting participants

and create a main page reflecting this structure with cards similar to the public mainpage DONE

  • Create a form "Newsletter", with fields: Date, audience subset/segment, message (this will be filled in by the frontend/nodejs script, but the sending could be also managed in the wiki itself) (DONE)

"message" could be split in "message text" and "message html" (the latter with template)

-- aggiungere: "subject"

  • Create a form "Newsletter stats", with fields (first name, last name, email, opens (list of dates), clicks (list of dates and url) -- data of this form will be created by a nodejs script through sendgrid (or other mail provider) hooks *** try to create automatically it, see point below ***
  • ***attention: in a further version of the system all these forms/properties/templates could be automatically created, even localized in a given language, by a server side script, in order to easily allow creation, and update, of (public/) private wiki instances
  • set a specific folder for files (named [organization]/media) Done
  • create a demo private wiki (in this case or public or with a test account with public password) for showcasing
  • form "member" (or "organization member") : add field "groups": a select with the list of existing group and the ability to create a new one.

This requires another form-template "add group", and the ability from a script in the form to create a new wiki page with that template through mw.api

  • create a form "class" to solve the problem of determining relationships (join) between courses and students from the page structure (not a good practice because the structure can change, for instance students may have multiple courses as subpages or a course may have multiple students as subpages). If we only rely on "classes", we organize things like that: personal data of students are always called as page and subpages of the form student. Then we create a class still on the private wiki with fields: course url (public information of the course: the "class" represent the set of participants of a given course), participants: followed by the list of participants, then we can have also multiple classes referring to the same course, eg. class of Monday-Wedn. and class of Tue-Thue, and even further fields...

Done -- remove the url from the form "class" and ensure the class name correspond to the course name on the public wiki (as specified in the site's row)


  • Create a namespace for the project "Culturaitaliana" or "CI" and put there all relevant pages, for instance "[organization]/Frontend Index", "Sidebar_LoggedIn", "Sidebar_SysOp", [organization]/Banner.jpg, etc. --- ok for those not belonging to an organization but in the latter case this conflicts with editing rights ...


Public wiki

  • (navigation menu) Create a page, for instance /Sidebar Left, where to list forms and templates to be displayed handled from our extension (ci_culturaitaliana_addons) (Done see below)
  • Create a series of email templates in the path /Email templates/[template title]

we could create a form as well (to let the nodejs server side script retrieve them) with fields: name, authors, description, snapshot/preview (so that templates can be listed on the frontend site) the cointainer div of the form must use an identifier known by the nodejs script to parse it

  • debug the files subfolder related functions
  • complete the pure-html forms (not PageForms) for retrieving contact information on the main page (server-side) DONE
  • change the upload folder name from "files" to "media"
  • display banner with our extenstion (DONE)
  • create both on public and private wiki a function to create subpages, ensuring that internal pages are created as well (otherwise the frontend script will not recognize them as pages)


Mediawiki fork

  • set default "leave redirect" to false (on move page)
  • set default "watch page" to false (where shown)


Frontend site

  • add ssr (server-side rendering) to organization page and redesign the navigation using router path (done)
  • create a page (with signin) to select a template, a segment/subset of recipients, enter a text message in a textarea and edit a template with ckeditor, then sending the message: all this information will be recorded in the form above "newsletters" in the private wiki

(this page should also provide a way to save contacts through csv in the form organization member of the private wiki)

  • (organization's page) create a menu for languages (as described in my communication of 3th of April) DONE, and a tab on the page header when a page is localized in multiple languages
  • create the site's home page (like scambieuropei)
  • show advertisements set by organizations, with books suggestions, digital libraries, opportunities (and other forms for general purpose) on the right panel/column through nodejs-socket.io-axios
  • (organization's page) handle selection of pages based on the router event (so the navigation menu should contain router-links) (Done)
  • mention the libraries / technologies which we are using, eg. nodejs, vuejs, mediawiki, knex, lodash, quasar framework, esprima, htmlparser2, cheerio, semantic mediawiki, language detect, jsonwebtoken, mediasoup, nodemailer, email templates (and other relevant mediawiki plugins)
  • add library to detect main language of a given page ***we could use the following https://github.com/NaturalNode/natural (even for topic categorization of contents) *** no, we are using "languagedetect.com" and google, see frontend script (nodejs)
  • complete page with api calls examples
  • post frontend/server scripts to a github public repository ? (see rather the following)
  • create an api interface for some common operations, like to retrieve pages with a given form, and providing some "join" (by this way it's not necessary to publish on github the frontend-server side script)


Site structure

  • home page (fare alla fine sulla base di tutto il materiale e le funzioni da rappresentare)
  • page: organizations: aggiungere icona "exit" sulla toolbar che rimanda alla home page; verificare se le pagine possono essere visualizzate sulla base di temi, ad es. handlebars (v. "ghost"), anche se poi si va ad utilizzare uno solo per tutte le organizzazioni-- per omogeneità
  • page: newsletters:
    • signin con credenziali wiki privato (in questo caso deve essere inserito anche l'username della organizzazione) oppure pubblico
    • view a: lista delle newsletter già inviate
    • view b: lista dei membri (audience) della organizzazione (recuperati dal wiki privato), aggiungi membro (vai a view b-a) oppure aggiungi lista (csv-comma separated values)
    • view b-a: modifica membro (form "clone" di quella sul wiki privato)
    • view c: lista dei gruppi (aggiungi, rinomina, cancella, come in "assigni")
    • view c-a: modifica gruppo (aggiungi, rimuovi contatti, sulla base dell'elenco completo dei membri)
    • view d: creazione newsletter: aggiungi uno o più gruppi (incluso "tutti i membri"), aggiungi singoli contatti; oggetto; casella di testo; pulsanti: plain test / rich text / html template (ckeditor); pulsante invio
    • una volta inviata la newsletter viene salvata nel sito wiki privato, form newsletter
  • page: classes/[nome classe] (Done)
    • overview (pubblico: informazioni sul corso, sulla base della form language_courses), campo per inserire email e pulsante sign in (se l'email appartiene ad uno degli studenti registrati nel corso (form language course student), invia un codice a questa email oppure chiede di scegliere una password (Done, with reference to "classes")
    • pagina privata dello studente (l'url è la stessa) visualizza la pagina dello studente creata nel wiki privato, inoltre: informazioni sugli altri partecipanti del corso; interfaccia per la lezione in videoconferenza (Done, videoconferencing to be completed)
  • funzioni da aggiungere alla pagina "organizations/[nome organizzazione]"
    • paying content: alcuni contenuti possono essere fruibili a pagamento e quindi registrati nel wiki privato; modalità di fruizione: si acquista una combinazione fra numero di parole e tempo speso nella lettura (da valutare meglio), es. 10 000 parole a 5 euro, non relativo ad uno contenuto, bensì a contenuti della intera biblioteca; implementare pwa (progressive web application) in modo da rendere i contenuti fruibili anche online ; implementare una sorta di lettura "paragrafo per paragrafo", con statistiche inviate all'autore, etc.
  • sulla barra destra, in tutte queste pagine, vengono sempre visualizzati gli annunci pubblicitari, opportunità, digital libraries, reading suggestions, etc.
  • prendere in esame tutte le form e valutare come il sito front end può essere arricchito sulla base di esse


  • Riorganizzazione della pagina della organizzazione:
    • url: culturaitaliana.org/istitutoculturaitaliana (organizzazione username)

(lo username viene assegnato al momento dell'iscrizione)

    • culturaitaliana.org/istitutoculturaitaliana/pages (attuale sito frontend della organizzazione, con tutte le pagine del wiki pubblico)
    • culturaitaliana.org/istitutoculturaitaliana/newsletters (signin amministratori)
    • culturaitaliana.org/istitutoculturaitaliana/classes (signin studente)
    • altre pagine che non rientrano nella tipologia di articolo ma che offrono funzionalità (es. "questionari")

No, usare al momento il seguente:

  • culturaitaliana.org/organizations/Istituto_cultura_italiana_(NGO)
  • culturaitaliana.org/newsletters/istitutoculturaitaliana (username wiki privato)
  • culturaitaliana.org/classes/istitutoculturaitaliana (username wiki privato)

organizzazione di "classes":

  • scheda studente wiki privato, eventualmente con sottopagine (Done)
  • class: videoconferenza con tutti gli altri studenti, e chat



Web server

  • Review the directory structure, for instance
    • culturaitaliana.org/[organization name]/ -> front end site (vuejs)
    • culturaitaliana.org/wiki/ -> public wiki (without language code) (php)
    • culturaitaliana.org/wiki/[organization name]/wiki -> public wiki site (php)
    • culturaitaliana.org/[other pages] -> -> front end site (vuejs)
    • culturaitaliana.org/organization name]/wiki -> private wiki site (php)

(n) this folder structure implies that an organization cannot have name "wiki" (ok) but also that "wiki" cannot be the title of a page/article of an organization (not ok) a solution could be: culturaitaliana.org/wiki/Istituto_cultura_italiana_(NGO) (public wiki) culturaitaliana.org/private-wiki/Istituto_cultura_italiana_(NGO) or culturaitaliana.org/private-wiki/istitutoculturaitaliana (private wiki) (the latest "Istituto_cultura_italiana_(NGO)" being a username while the first a page name) so that whatever folder not starting with wiki/ or private-wiki/ will be redirected to the frontend through a proxy

use the library https://www.npmjs.com/package/connect-history-api-fallback if necessary


Maintenance

  • Export all members of our organization in our private wiki (form member) (through a script)
  • (Export all communication with more than 1 recipient to the private wiki: this will require a further form, and is related to another phase of the project, regarding dissemination of literary works using a web app allowing to read them offline but at the same time tracking reading information etc..)


Bugs

  • fix issue with image folder on private wiki (SOLVED)
  • il select al seguente indirizzo

https://culturaitaliana.org/w/en/index.php?title=Istituto_cultura_italiana_(NGO)/Language_courses/Impariamo_l%27italiano_2019-2020_A2&action=formedit non funziona in modo appropriato


Near-future development

  • The data related to meetings and meetings participant might make use of "facial recognition" in order to help to locate participants in the photographic album related to the meeting