Logically related questions

From Redazione
Jump to navigation Jump to search
Line 26: Line 26:
 
Then because this would be also a demonstration of the ability of a kind of "Italian culture" to speak a technological language without diverting from its authentic nature which is intrinsically humanistic.
 
Then because this would be also a demonstration of the ability of a kind of "Italian culture" to speak a technological language without diverting from its authentic nature which is intrinsically humanistic.
 
Then of course because the audience for this platform is meant to be international that is being able to speak only partially the Italian language: (to be continued...)
 
Then of course because the audience for this platform is meant to be international that is being able to speak only partially the Italian language: (to be continued...)
 +
</div>
 +
</div>
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border-top:none">
 +
How the front-end counterpart of this site is created ?
 +
<div class="mw-collapsible-content">
 +
Well, while the back-end side of this platform is built upon a Apache/PHP/MySQL technology, the front-end side is built on [https://nodejs.org/en/ Node.js], eventually [https://www.nginx.com/ Nginx], and a client side Javascript framework like [https://vuejs.org/ Vue.js].
 +
The latter side is fueled with data retrieved from Mediawiki (a forked version with some extended features, mainly an enhanced support for pages and files with a path involving subpages/subfolders) through a Node.js script querying the Mediawiki database every few minutes for changes.
 +
This is actually the core of the bridge between the two sides, as the script during this process performs some convoluted operation structuring data in such a way that they can be retrieved or even "consumed" by a front-end interface in the most effective way.
 +
The front-end itself, however, while dynamically takes data from the Node.js back-end (as a middleware to the Mediawiki database, not directly queried), and is fundamentally decoupled by it, is created ''ad hoc'' and is just one of the possible data consumer application of the data organized by the Node.js script and exposed through a [[How it works/APIs|dedicated API]].
 +
<!--
 +
In short all the contents on the front-end site are updated in a automatic way, using the Mediawiki back-end as data source, and are displayed in an interactive way using a different technology
 +
-->
 
</div>
 
</div>
 
</div>
 
</div>

Revision as of 08:28, 10 July 2020

Why mediawiki rather than wordpress ?

Well, first mediawiki is actually being used by the wordpress creators (automattic) for their developer documentation as proof of powerfulness of its features. Then, because the business model of mediawiki and wordpress are completely different. Wordpress allows an easy use but as soon as you want to expand or complete your website you are pushed (or constrained) to paying solutions. Mediawiki (as well as our platform) is completely free, including any desirable advanced feature, at cost to deal yourself with the code (starting from wikicode itself, and proceeding with the creation of dedicated extensions). Then, because the intrinsic anti-immediacy of mediawiki force at the quality of contents: dealing with wikicode (either entered through the help of visual editor, or not) on the one hand slows down the content creation, and on the other provides you with a powerful set of formatting and structuring tools. Then because mediawiki offers a strong versioning controlling and allow a collaborativeness that wordpress is not able to offer: many people can work on the same content in the same time, and notwithstanding the integrity of the content is preserved, and you can access all the changes made by each of editors at any time. Finally because through the general design of our platform (where mediawiki is used as backend site) the presentation of the content (i.e. the appearance of the website) can be completely decoupled by the content itself: a part of your team can solely take care of contents, and their structure or pages structure, and another part of the team can design a frontend solution which will queries the APIs, and to consume those content in any way, using the semantic data container therein. (unless you are ok with the frontend solution here proposed)

Why a platform representing the Italian culture is conceived in English ?

Well, surely because English is the lingua franca of our times. Then because the native language of world of technology, to which this platform refers to, is English. Then because this would be also a demonstration of the ability of a kind of "Italian culture" to speak a technological language without diverting from its authentic nature which is intrinsically humanistic. Then of course because the audience for this platform is meant to be international that is being able to speak only partially the Italian language: (to be continued...)

How the front-end counterpart of this site is created ?

Well, while the back-end side of this platform is built upon a Apache/PHP/MySQL technology, the front-end side is built on Node.js, eventually Nginx, and a client side Javascript framework like Vue.js. The latter side is fueled with data retrieved from Mediawiki (a forked version with some extended features, mainly an enhanced support for pages and files with a path involving subpages/subfolders) through a Node.js script querying the Mediawiki database every few minutes for changes. This is actually the core of the bridge between the two sides, as the script during this process performs some convoluted operation structuring data in such a way that they can be retrieved or even "consumed" by a front-end interface in the most effective way. The front-end itself, however, while dynamically takes data from the Node.js back-end (as a middleware to the Mediawiki database, not directly queried), and is fundamentally decoupled by it, is created ad hoc and is just one of the possible data consumer application of the data organized by the Node.js script and exposed through a dedicated API.