Jump to content

ICT:FinalConfig - ORGANISATION: Difference between revisions

From Costa Sano MediaWiki
Created page with "= Final Configuration for the Organisation Entity = Document revision: {{#time:Y-m-d|{{REVISIONTIMESTAMP}}}} by {{REVISIONUSER}} The aim is to create an interface without MediaWiki clutter and well protected to avoid confusing users with unnecessary elements on the page. The Cargo template follows what has been decided in the DBML. It is the third implementation of an entity in order to finetune a final dashboard layout. = Cargo Table: = Template:Organisation <pre> <..."
 
No edit summary
Line 18: Line 18:
  |description=Text
  |description=Text
  |place_id=Page
  |place_id=Page
|organisations_ref=String
  |contact_information=Text
  |contact_information=Text
  |notes=Text
  |notes=Text
Line 31: Line 30:
  |description={{{description|}}}
  |description={{{description|}}}
  |place_id={{{place_id|}}}
  |place_id={{{place_id|}}}
|organisations_ref={{{organisations_ref|}}}
  |contact_information={{{contact_information|}}}
  |contact_information={{{contact_information|}}}
  |notes={{{notes|}}}
  |notes={{{notes|}}}
Line 85: Line 83:
   |placeholder=Select a place
   |placeholder=Select a place
}}}
}}}
|-
! Organisations reference
| {{{field|organisations_ref|input type=text|size=60}}}
|-
|-


Line 125: Line 119:


{| class="wikitable sortable"
{| class="wikitable sortable"
! Code !! Name !! Place !! Reference
! Code !! Name !! Place
{{#cargo_query:
{{#cargo_query:
  tables=Organisations
  tables=Organisations
  |fields=_pageName,code,name,place_id,organisations_ref
  |fields=_pageName,code,name,place_id
  |where=_pageNamespace=3008
  |where=_pageNamespace=3008
  |order by=code
  |order by=code
Line 175: Line 169:
| {{{name}}}
| {{{name}}}
| {{{place_id}}}
| {{{place_id}}}
| {{{organisations_ref}}}
</includeonly>
</includeonly>


Line 186: Line 179:
|description=Regional archive authority for the Pas-de-Calais department.
|description=Regional archive authority for the Pas-de-Calais department.
|place_id=Place:ARRAS
|place_id=Place:ARRAS
|organisations_ref=AD62
|contact_information=Rue Ferdinand Buisson, 62000 Arras
|contact_information=Rue Ferdinand Buisson, 62000 Arras
|notes=Primary source repository for Costa Sano research.
|notes=Primary source repository for Costa Sano research.

Revision as of 21:24, 13 February 2026

Final Configuration for the Organisation Entity

Document revision: 2026-02-13 by Mngr

The aim is to create an interface without MediaWiki clutter and well protected to avoid confusing users with unnecessary elements on the page. The Cargo template follows what has been decided in the DBML. It is the third implementation of an entity in order to finetune a final dashboard layout.

Cargo Table:

Template:Organisation

<noinclude>
Organisation data template

{{#cargo_declare:
 _table=Organisations
 |name=String
 |code=String
 |description=Text
 |place_id=Page
 |contact_information=Text
 |notes=Text
}}

{{#forminput:form=Organisation}}
</noinclude>

{{#cargo_store:
 name={{{name|}}}
 |code={{PAGENAME}}
 |description={{{description|}}}
 |place_id={{{place_id|}}}
 |contact_information={{{contact_information|}}}
 |notes={{{notes|}}}
}}

== {{{name|}}} ==

Once the template is created don't forget to manually force the creation of the Cargo table. If modifications are done to the table, one needs to manually update the table and then go to the Cargo interface to swap the temporary table to become the official one. Take care what is inside and outside

<noinclude>

Page Form:

Form:Organisation

<noinclude>
Form for creating and editing Organisation pages.
</noinclude>

{{{info
|no summary
|no preview
|no minor edit
|no watch
|no footer
}}}

{{{for template|Organisation}}}

{| class="formtable"

! Name
| {{{field|name|mandatory}}}
|-

! Code
| {{PAGENAME}}
|-

! Description
| {{{field|description|input type=textarea}}}
|-

! Place
| {{{field|place_id
   |label=Located in
   |input type=combobox
   |values from namespace=Place
   |existing values only
   |placeholder=Select a place
}}}
|-

! Contact information
| {{{field|contact_information|input type=textarea}}}
|-

! Notes
| {{{field|notes|input type=textarea}}}

|}

{{{standard input|save}}}

{{{end template}}}

The first section is important to avoid clutter.

{{{info
|no summary
|no preview
|no minor edit
|no watch
|no footer
}}}

Dashboard page

Dashboard:Organisation

= 🏛️ Costa Sano Research ORGANISATION Dashboard =

📖 [[Dashboard:Organisation/Help|Need Help?]]

{| class="wikitable sortable"
! Code !! Name !! Place
{{#cargo_query:
 tables=Organisations
 |fields=_pageName,code,name,place_id
 |where=_pageNamespace=3008
 |order by=code
 |format=template
 |template=OrganisationRow
 |named args=yes
 |cache=no
}}
|}

Choose your organisation code corresponding to above table and respecting the naming conventions.

{{#forminput:
 form=Organisation
 |namespace=Organisation
 |button text=➕ New organisation
 |returnto=Dashboard:Organisation
}}

<div style="text-align:right; font-size:90%;">
Last updated: {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} – {{CURRENTTIME}} UTC
</div>

Different measures are taken to deal with caching data in MediaWiki, Cargo and what happens in a browser.

 |cache=no

This is needed on the Cargo side to avoid caching and the following puts a new datetime on the page making it different from the previous version with the result that the page is renewed and the cached version is dropped.

<div style="text-align:right; font-size:90%;">
Last updated: {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} – {{CURRENTTIME}} UTC
</div>

The layout of the dashboard makes use of a Template:OrganisationRow as described below. It makes the first column of the table clickable to go back to the Form and edit the record.

Row transclusion Template

Template:OrganisationRow

<includeonly>
|-
| {{#formlink:form=Organisation|target={{{_pageName}}}|link text={{{code}}}|returnto=Dashboard:Organisation}}
| {{{name}}}
| {{{place_id}}}
</includeonly>

All this creates pages in the namespace Organisation with the name being the code. The page is a configuration to serve in Page Forms extension. Below is an example of such a page.

{{Organisation
|name=Archives Départementales du Pas-de-Calais
|description=Regional archive authority for the Pas-de-Calais department.
|place_id=Place:ARRAS
|contact_information=Rue Ferdinand Buisson, 62000 Arras
|notes=Primary source repository for Costa Sano research.
}}

As you can see the page as is cannot be used as such and should be read via the dashboard page.

References: