How it works

From Redazione
Revision as of 23:05, 9 July 2020 by Admin (talk | contribs)
Jump to navigation Jump to search

Introduction

Cultura italiana is a project aiming to create a network and to enhance cooperation among centers of Italian culture and language at abroad.

It is meant to be composed of at least 2 components: a back-end platform, represented by this Mediawiki site where authorized staff of centers of Italian culture and language can add or structure their organization information in a collaborative way and with attention for semantic data, and by a front-end platform, currently represented by this site, where the created contents can be viewed, searched and enjoyed by visitors in an attractive and modern way, including from mobile devices. (depending on what side you are reading this content, one of the links will point to itself)

The project has been initially implemented, since November 2019, within the frame of a European Solidarity Corps project (funded by European Union), is supported at the moment by the center of Italian culture and language in charge of the project which ensures its continuity over time (as well as that the requirements of the project are met) and foresees the inclusion of other institutions and organizations interested in taking part to the initiative.

With reference of the "back-end" part, we oriented ourselves to a Mediawiki system, because is open-source, it offers the most or one of the most reliable systems world-wide for creation and publishing of collaborative contents (thanks to the challenge posed by a critical application like Wikipedia) with a leading version control system (it allows simultaneous editing of the same content by different users, keeping track of the history of changes of each of them, and allowing the comparisons between any version's article with whatever other), and because it can be actually used as a collaborative CMS (content management system) with no hidden information and, once again, completely open source, including the functionalities to represent and to handle structured data, like templates, forms and Semantic Mediawiki.

The key-feature of the project is its ability to easily create semantic data out of simple forms, representing specific set of data (like articles, organizations themselves, meetings, scholarships and other opportunities, reading suggestions, and so forth) with the aim to let them easily accessed from the outside (specifically by the front-end part of the project, as well as by any other third-party, like the websites belonging to centers of Italian language and culture themselves) through either the standard Mediawiki APIs, callable notably by any Wordpress website through dedicated plugins, or by an extended APIs, which is even more effective, so that on the one hand the creation of contents can be centralized and kept separate by their presentation, and on the other they can be served among several platforms (including search engines, which explicitly encourage the use of structured data) thanks to the interoperability ensured by semantic data, and specifically of semantic “ask” queries.

Basically once that you have added a page representing your organization on this site, you can query for any data that you have inserted from the outside (using the standard Mediawiki's api endpoint) through a query like:

{
	"action": "ask",
	"format": "json",
	"query": "[[~Centro italiano Barcellona*]] [[Category:Teachers]] [[Teacher taught languages::Italian]]"
}

which basically will return all teachers of Italian language in charge at the Italian center of Barcelona. (here is the api sandbox where you can play on your own).

Usually you do that with a concealed database, with an arbitrary data-structure in which the aspects of interoperability, accessibility, and cooperativeness are reduced to zero, and therefore which limit the use of your data to the original platform, which is typically "isolated" on the web: furthermore, information stored therein are not readable, as such, from third party systems, through an universal vocabulary which is indeed the aim of Wikidata, a project to which our is strictly related inasmuch as a wikibase repository is already installed and ready to use at this address, although we are currently relying on Semantic Mediawiki, because the federation feature of Wikidata/Wikibase at the year 2020 is not yet ready, and nonetheless we can do the steps in that direction all together. [*** update: in January 2021, Semantic Mediawiki's authors have done some steps in this direction, presented here, although a stable solution will not be usable before the 2nd quarter of 2021]

By contrast to the typical design of ordinary web sites and web applications, where the data structure is concealed, and not accessible or improvable from their users, in a semantic Mediawiki it is expressed in terms of sets of properties (of which here is the complete list]) which are stored among the contents themselves of the wiki! This is a breakthrough approach, because it makes possible for users themselves of the platform to modelize and to shape their own information based on their experience and their needs, and to contribute actively with it, instead than just passively adopting models imposed by others (or: "actively filling with contents models imposed by others") which are necessarily aimed to conflicting or incompatible interests.

Here is for instance a set of properties representing an organization:

  1. Organization address of type Text (1 use)
  2. Organization city of type Text (16 uses)
  3. Organization coordinates of type Geographic coordinates (1 use)
  4. Organization country of type Text (2 uses)
  5. Organization foundation year of type Number (1 use)
  6. Organization logo + of type URL (0 uses)
  7. Organization name of type Text (9 uses)
  8. Organization type of type Text (9 uses)
  9. Organization website of type URL (2 uses)

here is the corresponding form:


Form organization


here is the template filled-in by the form above

{{Form organization
|Name=
|Type=
|Logo=
|Country=
|Address=
|Coordinates=
|Foundation year=
|Email=
|Website=
}}

and here are two elements produced using such data, that is an "Infobox", a summary of the semantic data (corresponding to the field names of an ordinary relational database) of the item (the organization)

Infobox

and a "Factbox", with the same semantic information displayed by Semantic Mediawiki itself (installed on our wiki as an extension).

Factbox

All of them, besides than filled-in with data, can be fully accessed (with regard of their "source code", more precisely a set of pages containing wiki-text) by users and even the related data-structure arbitrarily enriched to represent realities not fitting in a given model: a completely new model could be created to just fit one item, this is completely acceptable.

Furthermore, while the components above produce a clear summary of data, in the view of our project, they have not a merely aesthetic purpose – or rather: they are not merely intended to visitors, but rather to external platforms (namely all those focusing on linked data, starting with Wikidata) which as mentioned can query the APIs, and to use and display the information according to their needs: indeed, although the present site can of course be accessed and consulted by visitors in an autonomous way as whatever other wiki, is to be considered, as above, a sophisticated CMS and at the same time a laboratory for centers of Italian culture and language in order to shape their information in innovative ways, to enhance their cooperation at this regard (in our opinion of utmost importance, since adopted data structures and behavioral patterns are related) and to showcase such information on diverse and even separated front-ends.

Find out more...


Application form

The use of this platform is free for all Italian language and culture organizations world-wide.

Just fill-in the form below and we will contact you promptly in order to set up your account and to send you any useful information.
You will be immediately able to:

  • manage a wiki-like page of your organization plus an arbitrary number of sub-pages (like the following)
  • structure your data and information through a reach set of features allowing their visualization in a front-end like the following, where external visitors can find all the material created by organizations, divided by geographical area and kind of contents


Find out more...


Pages structure

After registration, you will be assigned with a specific "domain" corresponding to a page in the form

https://culturaitaliana.org/wiki/[organization name]


which can contain an arbitrary number of sub-pages within it. Here are some information of a sub-page from wikipedia:

Making a new [[link]] that begins with a / (slash) is the common way to start a subpage. The page to which this link points is considered "subordinate" to its host page, and is titled and linked as [[Parentpage/Subpage]]. It is possible to create a subpage of a subpage (or a sub-subpage). At the top of each subpage or sub-subpage, you can find a backlink (a.k.a. breadcrumb) to the higher levels of the page.

In short all the pages of your organization will be located under a dedicated address but at the same time they will reside in a shared environment, both to ensure collaborativeness among organizations, and because by this way you can enjoy, de facto, a fully maintained platform, where site's administrators (meant to be IT professionals) will advice you of any consistency of the wiki text (which entails some complexity) and will take care of extensions, templates, modules, semantic properties, and all other elements which guarantee a profitable and rich experience both from the side of visitors, and the organizations themselves.

By default, your organization's data structure will take this form:


Find out more...


Forms & semantic data

Forms & semantic data

Find out more...


Forms & semantic data (naming convention)

Forms & semantic data (naming convention)

Find out more...


Images upload & gallery

The Mediawiki version (1.35) powering this platform has been improved in order to support the storage of images and media files at a specific path, so that each organization can save all their images within a specific "folder" (under the main page itself of the organization, or whatever sub-page within it) and can easily retrieve them from the Visual editor's Media gallery, without mixing up their files with those of other organizations, and without file names conflicts or restrictions.


Find out more...


Frontend Index

The wiki page 'Frontend Index' contains a structured index of all your organization's page automatically created and updated by a server-side script.

This index is the editable instance of the index provided by the APIs wikipages and it is used as well from the official front end version of your website (for instance of this organization) in order to display the navigation menu on the left.

Through the editable Index on that wiki page, you can hide/unhide pages on the front end site (and therefore not present in the index) and even to rearrange them.

This is the Frontend Index of the root pages of this wiki and the Frontend Index of each organization will reside at the path

https://culturaitaliana.org/wiki/[organization name]/Frontend_Index


Every page of your organization can be headed by your organization's banner. Just upload a banner image under your page named "Banner.jpg", so that it will appear in the following url:

https://culturaitaliana.org/wiki/[organization name]/Banner.jpg

(the banner is therefore expected to be in jpeg format) and the system will automatically display it on the top of each of your pages, including on the front end site !



APIs

While you are establishing your organization's page structure at an address like the following

https://culturaitaliana.org/wiki/Centro_italiano_Barcellona

that is structuring all your information optionally using semantic data through this wiki platform, you can start querying your pages (or even all your site) through the following set of APIs, for instance in order to display them in your wordpress site, or in whatever third party site written in any computer language.

The following endpoints do not directly query the standard mediawiki APIs, but an extended APIs built on top of the mediawiki APIs (called autonomously by an internal script running in the background which keeps updated all the information) providing additional data, like the detected language for each page, all the semantic data related to each page, the "title structure" (to allow the use of slashes within the title itself, ensuring at the same time the coherence of the hierarchical structure) and more.

Basically, through the following APIs you can query all the information of the created pages or a specific "folder" within it (also retrieving a structured table of contents which can be easily used to create navigation panels, and of course, html content of pages) without dealing with the complexity and lack of immediacy of the standard Mediawiki api, which would require multiple calls and further elaboration to reach that result.

Find out more...


Parser functions

Parser functions

Find out more...


Join team

If you would like to participate to enrich the content of this platform for creating an unique eco-system of Italian culture and language, fill in this form and we will be happy to discuss the kind of contribution you might bring with you!


Find out more...


Private wiki

Optionally, we can provide you with a private wiki hosted at an address like

https://culturaitaliana.org/private-wiki/[organization username]

which differs from the public wiki in that it is not a shared environment, while it remains managed as its codebase, modules, templates, available forms and so on.

A private wiki allows you to store any private information (without using specific extension in the public wiki which would make some of your pages private, posing nonetheless security risks) with the maximum level of security (inasmuch as the wiki itself can be accessed only by authorized users) complementing the information you have on your public wiki.

For instance we allow the creation of pages representing language courses in the public wiki, and the creation of pages representing classes and students (registered together with their personal information) in the private wiki. This way, we can offer an additional platform, named 'classes', which combines the public as well private information of your courses, and provides a reserved area for your students where to retrieve their teaching material and even to interact with their class. [... to be continued]

Find out more...


For administrators

Instructions for use

To-do


Technology we use

Here is a list of the tools we use to make this platform work. Of course each of them depends in turn by other tools (for instance Quasar Framework depends on Vue.js, and Vue.js is in turn composed by several components, like the router and vuex, a "state management pattern"), however, given a set even arbitrary of the most prominent tools we use, the reader might explore on his or her own both in extension and in depth the vast areas not covered by the following table.


Find out more...


Logically related questions (L.R.Q.)

(another way of indicating "frequently asked questions" which have not yet been asked)

(another way of indicating "frequently asked questions" which have not yet been asked)


Why Mediawiki rather than Wordpress ?
Why a platform representing the Italian culture is conceived in English ?
How the front-end counterpart of this site is created or updated?
Why Mediawiki rather than Wordpress ? (again)



Find out more...