Content management system: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Cronologia ripulita, rimuovo richiesta Etichette: Ripristino manuale Modifica visuale: commutato |
m Annullate le modifiche di 2.112.68.70 (discussione), riportata alla versione precedente di Solipsistico Etichetta: Rollback |
||
(48 versioni intermedie di 36 utenti non mostrate) | |||
Riga 1:
In [[informatica]] un '''''content management system''''', in [[acronimo]] '''CMS''' (''sistema di gestione dei contenuti'' in [[Lingua italiana|italiano]]), è uno strumento [[software]], installato su un [[server web]], il cui compito è facilitare la gestione dei contenuti di [[sito web|siti web]], svincolando il [[webmaster]] da conoscenze tecniche specifiche di [[programmazione Web]]<ref>{{Cita libro|nome=Rockley,|cognome=Ann.|titolo=Managing enterprise content : a unified content strategy|url=http://worldcat.org/oclc/52355557|accesso=15 luglio 2022|data=2003|editore=New Riders|OCLC=52355557|ISBN=978-0-7357-1306-2}}</ref><ref>{{Cita libro|nome=White, Martin|cognome=S.|titolo=The Content management handbook|url=http://worldcat.org/oclc/642215505|accesso=15 luglio 2022|data=2005|editore=Facet Publishing|OCLC=642215505|ISBN=1-85604-533-1}}</ref><ref>{{Cita libro|nome=Boiko, Bob|cognome=Verfasser|titolo=Content Management Bible|url=http://worldcat.org/oclc/899175520|accesso=15 luglio 2022|OCLC=899175520|ISBN=978-0-7645-8364-3}}</ref>.
[[File:Theming a View with CSS in a Box (391910509).jpg|thumb|right|Un tema del CMS [[Drupal]] con un [[CSS]].]]
== Storia ==
I ''content management system'' sono nati negli [[Stati Uniti d'America|Stati Uniti]] e sono stati inizialmente sviluppati, per uso interno, da alcune organizzazioni che producevano notevoli quantità di pubblicazioni. Nel [[1995]] la [[CNET]] rese pubblici gli studi e i [[Prodotto (project management)|prodotti]] sviluppati internamente, distribuendoli con l'etichetta ''Vignette''. La [[Azienda|compagnia]] cominciò a mettere a disposizione il proprio software come sistema di gestione dei contenuti via web. Per la prima volta un utente poteva creare il proprio sito direttamente dal [[Web]], usando l'interfaccia CNET<ref>{{Cita web|url=https://it.upwiki.one/wiki/Vignette_Corporation|titolo=Vignette Corporation|sito=it.upwiki.one|accesso=15 luglio 2022}}</ref>.
Nel [[1998]], la Pencom Web Works, una compagnia di consulenza aziendale, introdusse il server di trasformazione dati ([[Data Transformation Services|DTS]] - ''Data Transformation Services'') ''Metaphoria'', che permetteva agli sviluppatori [[Java (linguaggio di programmazione)|Java]] di scrivere applicazioni che si potevano collegare ai contenuti e permettevano di distribuire tali contenuti su canali diversi. Il prodotto non ebbe successo, ma il concetto che era stato introdotto costituì le basi di ciò che è diventato il CMS odierno<ref>{{Cita web|url=http://www.blogjoomla.it/2009112760/cms-content-management-system.html|titolo=CMS - Content management system|sito=www.blogjoomla.it|accesso=15 luglio 2022}}</ref><ref>{{Cita pubblicazione|cognome=Federico Sette|data=2009-02-06|titolo=Cms|accesso=15 luglio 2022|url=https://www.slideshare.net/Fed7/cms-996761}}</ref>.
== Descrizione ==
Il CMS è uno strumento usato dai [[webmaster]] per gestire il contenuto di un [[sito web]] evitando di dover programmare [[Web dinamico|dinamicamente]] l'intero software [[server-side|lato server]] che gestisce il sito. Generalmente offre un'interfaccia di amministrazione (''admin console'' cioè console di
Esistono CMS specializzati, cioè appositamente progettati per un tipo preciso di contenuti (una [[wiki]], un [[blog]], un [[forum (Internet)|forum]], un [[giornale online]], ecc.) e CMS generici, che tendono a essere più flessibili per consentire la pubblicazione di diversi tipi di contenuti.
Riga 16 ⟶ 15:
Quando si parla di "contenuti" si intendono dati, informazioni, conoscenze, in qualsiasi forma (testo, immagine, [[video]], musica, software, ecc.). Quando si parla di "struttura" s'intende: impaginazione, formattazione, [[Architettura (computer)|architettura]], sezioni, gestione delle modifiche e delle versioni, gerarchia e privilegi dei ruoli, ecc.
Tecnicamente, un CMS è un'applicazione [[lato server]] che generalmente si appoggia su un [[database]] per l'archiviazione dei contenuti; l'applicazione è suddivisa in due parti<ref>{{Cita web|url=https://vitolavecchia.altervista.org/caratteristiche-e-differenza-tra-front-end-e-back-end-per-un-cms/|titolo=Caratteristiche e Differenza tra front-end e back-end per un CMS|autore=Vito Lavecchia|sito=Informatica e Ingegneria Online|data=2020-03-31|accesso=15 luglio 2022}}</ref>:
* una sezione di amministrazione (''[[back end]]''), che serve ad organizzare e supervisionare la produzione dei contenuti;
Riga 38 ⟶ 37:
== Applicazioni ==
=== Web Content Management System ===
L'utilizzo più diffuso dei CMS è rivolto alla gestione di [[sito web|siti web]], soprattutto se sono di grandi dimensioni e richiedono un frequente aggiornamento<ref>{{Cita web|url=https://www.creativemotions.it/che-cosa-e-un-cms/|titolo=Che cos'è un CMS (Content Management System) ?|autore=Creativemotions|sito=Creativemotions|data=2019-09-28|accesso=15 luglio 2022}}</ref>.
Una delle applicazioni più utili dei sistemi di '''Web Content Management System''' (WCMS) è infatti la gestione dei [[Portale (Web)|portali]] ([[Intranet]], [[Extranet]], [[Comunità virtuale|community]], siti di [[E-commerce]], [[social media]], ecc.), dove vengono impiegati come strumento di pubblicazione flessibile e multiutente. Ad esempio: gestione di contenuti testuali (notizie, articoli ecc.), [[Collegamento ipertestuale|link]], immagini, liste di discussione, forum, materiale scaricabile. Può essere modificata anche la struttura stessa delle pagine in numero ed organizzazione. A volte i WCMS danno la possibilità di gestire anche più versioni dello stesso sito (ad esempio, [[HTML]] o [[Wireless Application Protocol|WAP]])<ref>{{Cita web|url=https://www.cmscritic.com/cms-or-wcm-which-is-which/|titolo=CMS or WCM - Which is Which?|autore=Mike Johnston|sito=CMS Critic|data=2011-09-07|lingua=en|accesso=15 luglio 2022}}</ref>.
I WCMS consentono di definire utenti, gruppi e diritti in modo da poter permettere una distribuzione del lavoro tra più persone. Per esempio, è possibile definire una classe di utenti abilitati esclusivamente all'inserimento delle notizie, mentre si può riservare la scrittura di articoli ad un altro gruppo, e limitare tutti gli altri alla sola consultazione.
Riga 48 ⟶ 47:
In letteratura esistono numerosi modelli che aiutano a valutare il [[Return on investment|ritorno sull'investimento]] di un WCMS. I costi di adozione sono spesso elevati, quindi non sono sostenibili per i professionisti o i privati che non fanno del Web la loro competenza di base.
Per rispondere a questa necessità di mercato sono nati alcuni [[application service provider]] (ASP) che offrono questo servizio direttamente via Web, senza richiedere alcun investimento hardware o software. Gli ASP costano ai loro clienti un canone annuale per il servizio di WCMS erogato<ref>{{Cita web|url=https://www.cmscritic.com/what-is-a-cms/|titolo=What is a CMS?|autore=Mike Johnston|sito=CMS Critic|data=2010-07-28|lingua=en|accesso=15 luglio 2022}}</ref>.
=== Dynamic content management system ===
Come evoluzione applicativa, il '''Dynamic Content Management System''' (DCMS), oltre alle funzioni tipiche del CMS, offre la possibilità di generazione e di riutilizzo di un intero flusso documentale, permettendo così con un unico programma applicativo la realizzazione di documenti tipo cataloghi, manuali, listini e tutto ciò che è composto da immagini, tabelle e testi. Il DCMS trova applicazione soprattutto nell'ambito industriale, come strumento interno di produzione e gestione della documentazione (''document management system'')<ref>{{Cita pubblicazione|nome=Sathiamoorthy|cognome=Manoharan|data=2007-11|titolo=Dynamic Content Management and Delivery for Mobile Devices|rivista=International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies (UBICOMM'07)|pp=63-67|accesso=15 luglio 2022|doi=10.1109/UBICOMM.2007.10|url=https://ieeexplore.ieee.org/document/4402808}}</ref>.
=== Learning management system ===
{{Vedi anche|Learning management system}}
I ''learning management system'' e i ''learning content management system'' (LMS e LCMS) sono dei particolari gestori di contenuti web rivolti alla didattica. Permettono l'erogazione dei corsi in modalità [[e-learning]] al fine di contribuire a realizzare le finalità previste dal progetto educativo dell'istituzione proponente. Il learning management system gestisce la distribuzione dei corsi on-line, l'iscrizione degli studenti e il tracciamento delle attività on-line<ref>{{Cita web|url=http://www.astd.org/~/media/Files/Publications/LMS_fieldguide_20091|titolo=Wayback Machine|sito=web.archive.org|data=24 agosto 2014|accesso=15 luglio 2022|dataarchivio=24 agosto 2014|urlarchivio=https://web.archive.org/web/20140824102458/http://www.astd.org/~/media/Files/Publications/LMS_fieldguide_20091|urlmorto=sì}}</ref>.
== CMS
Difficoltoso è stabilire se sia meglio utilizzare un CMS [[Open source]] o uno proprietario poiché dipende dalle esigenze del cliente<ref>{{Cita web|url=https://www.m-w.co.uk/about-us/blog/open-source-vs-proprietary-cms|titolo=Open Source vs. Proprietary CMS|sito=Moore-Wilson|lingua=en|accesso=
{| class="wikitable"
!
!Pro
!Contro
|-
|Proprietario
|
|-
|Libero
▲|soddisfazione di esigenze specifiche, prodotto su misura
|
▲|molto difficile e potenzialmente costoso cambiare web agency
|molti CMS sono più adatti agli sviluppatori che agli utenti finali▼
▲|-
|
▲|possono essere più focalizzati sull'utente che sullo sviluppatore. Tendono ad essere meno personalizzabili e quindi più semplici
▲|è più facile per i clienti cambiare [[web agency]]
▲|più limitazioni e meno scelta di temi (aspetto grafico)
▲|più vulnerabili agli attacchi poiché chiunque può vedere il codice, quindi è più facile per gli hacker sfruttarlo
▲|-
▲|si sa esattamente chi è responsabile in caso di problemi, quindi c'è un intervento veloce da parte della web agency
▲|si risparmiano i costi associati a un sistema proprietario
▲|[[copyright]] del CMS di proprietà di una sola web agency
▲|intervento non sempre immediato da parte della comunità di supporto in caso di problemi
|}
== Pro e contro ==
=== Vantaggi dei CMS ===
Un CMS permette di costruire e aggiornare un [[Web dinamico|sito dinamico]], anche molto grande, senza necessità di scrivere in [[HTML]] e senza dover conoscere [[Linguaggio di programmazione|linguaggi di programmazione]] lato server (come [[PHP]]) o progettare un apposito [[database]]. L'aspetto esteriore delle pagine può essere personalizzato scegliendo un [[foglio di stile]] [[CSS]] appositamente progettato per un determinato CMS. In genere, poi, le modifiche alle pagine web generate dai CMS devono seguire precise regole, che sono dettate (almeno nel caso dei CMS [[open source]]) dalla documentazione per sviluppatori della stessa. La [[comunità virtuale|community]] degli informatici è in parte scettica su questi vantaggi, dato che possono sembrare limitati e non sembrano lasciare le mani libere, almeno in apparenza, al programmatore. Ma i CMS sono programmabili a tutti gli effetti, basta seguire la documentazione di ognuno e si potranno, più o meno facilmente, modificare e farli diventare qualsiasi sito si desideri, anche con l'integrazione di [[Application programming interface|API]] esterne. È sconsigliabile, in conclusione, modificare i file di un CMS senza seguire le procedure richieste per effettuare personalizzazioni, pena il malfunzionamento del sito soprattutto nel medio-lungo periodo<ref>{{Cita web|url=https://www.freewordpress.it/blog/cosa-sono-i-cms.php|titolo=Cosa sono i CMS|autore=Salvatore|sito=Gestione Wordpress {{!}} Free Wordpress|data=2019-09-02
I ''flat file CMS'', altrimenti noti come ''text-based CMS'', sono dei content management system che si basano su file di testo (il più delle volte file [[XML]]) e che perciò non necessitano di alcun database come [[MySQL]], [[PostgreSQL]], ecc. Questi CMS sono facilmente installabili e dunque sono particolarmente adatti per siti personali o per piccole comunità.
=== Limiti dei CMS ===
Riga 96 ⟶ 97:
Molti piccoli portali fanno ricorso a CMS di tipo generico, scritti da altri e messi a disposizione gratuitamente o a pagamento; per quanto un CMS possa essere flessibile, un sito basato su questa struttura presenta un aspetto poco personalizzato se non è possibile intervenire direttamente sul [[codice sorgente]] del prodotto per modificarlo. Analogamente i contenuti saranno sempre ancorati a quanto previsto da chi ha progettato il CMS e non alle esigenze di chi pubblica il sito.
Problemi di gestione possono derivare dal fatto che chi pubblica o gestisce il sito può usare il CMS per intervenire sui contenuti e sull'aspetto, ma generalmente (caso del [[software proprietario]]) non è in grado di intervenire direttamente (o far intervenire) sulla struttura del CMS stesso; questo è un limite strettamente connesso al vantaggio primario dei CMS (backend e database): pubblicare un portale senza doverne progettare la struttura o senza possedere le conoscenze tecniche (o le risorse finanziarie) per uno sviluppo personalizzato. Tuttavia esistono anche CMS particolarmente evoluti che permettono di scrivere direttamente sul [[database]]. È il caso per esempio di alcuni CMS proprietari.
Questi problemi sono risolvibili utilizzando software [[open source]]: la possibilità di accedere al [[codice sorgente]] del prodotto permette di personalizzare il software sulla base delle proprie esigenze a patto di non avere necessità di apportare modifiche al prodotto adottato. Anche in questo caso, vanno messi in conto i costi per lo sviluppo di moduli personalizzati o funzioni particolari, a meno di non possedere in proprio o nella propria struttura aziendale le conoscenze tecniche per intervenire nel [[codice sorgente]].
Esistono anche programmi e [[database]] progettati su misura, ovvero "CMS personalizzati" e dunque necessariamente specializzati; in questo modo la struttura e la presentazione vengono realizzate tenendo presenti i contenuti che il sito dovrà ospitare e potranno essere modificati in seguito a nuove esigenze.
==== Lentezza ====
Le cause principali per un sito lento fatto con un CMS sono<ref>{{Cita web|url=https://www.wpbeginner.com/wordpress-performance-speed/
* [[Hosting]]: quando il server di web hosting non è configurato correttamente può danneggiare la velocità del sito web
* Configurazione: se il sito non usa pagine memorizzate nella cache sovraccaricherà il server, causando la lentezza o il blocco del sito web
* Immagini pesanti: a una risoluzione alta (adatta per la stampa ma non per il web) e/o una dimensione ampia e/o mancato uso degli [[Sprite (informatica)|Sprite CSS]] per evitare molte chiamate al server<ref>{{Cita web|url=https://wp-rocket.me/blog/combine-images-css-sprites/|titolo=How to Combine Images Using CSS Sprites in WordPress|autore=About Colin Newcomer Colin Newcomer is a freelance writer who spends his days inside the WordPress dashboard He lives a life of danger, riding a scooter through the chaos of Hanoi|sito=WP Rocket|data=2020-01-11|lingua=en
* Riproduzione automatica dei video all'arrivo dell'utente e video ospitati sul proprio server anziché incorporato da [[YouTube]], [[Vimeo]] o altri servizi esterni<ref>{{Cita web|url=https://usabilla.com/blog/website-usability-youtube-player-vs-self-hosted-video/|titolo=Website Usability: YouTube Player vs. Self-Hosted Video|sito=The latest Voice of Customer and CX trends {{!}} Usabilla Blog|data=2015-08-04|lingua=en
* [[Plugin (informatica)|Plugin]] non validi e/o non aggiornati: se si utilizzano plug-in mal codificati e/o obsoleti il sito Web può rallentare notevolmente
* Script esterni: annunci, caricatori di caratteri, ecc. possono avere un enorme impatto sulle prestazioni del sito web. Ad esempio utilizzare troppi font incorporati con Google Fonts<ref>{{Cita web|url=https://sos-wp.it/google-fonts-wordpress/|titolo=Come usare i Google Font su WordPress e quali scegliere per il tuo sito|sito=SOS WP|data=2020-12-07
==== Vulnerabilità ====
==CMS più diffusi==▼
Secondo uno studio di Sucuri<ref>{{Cita web|url=https://sucuri.net/reports/2021-hacked-website-report/|titolo=Sucuri - Website Threat Report 2021|sito=Sucuri|lingua=en|accesso=23 giugno 2022}}</ref>, WordPress è il CMS più vulnerabile, seguito da [[Joomla]] e [[Drupal]].
I sistemi di gestione dei contenuti basati su un framework open source hanno i loro vantaggi come ad esempio l'ambiente collaborativo, la condivisione e la modifica del codice sorgente. Ma poiché sono gratuiti nessuno si assume la responsabilità di trovare e correggere tempestivamente le vulnerabilità in materia di sicurezza. Alcune di queste vulnerabilità vengono rilevate sia dai ricercatori di sicurezza che dagli stessi aggressori<ref>{{Cita web|url=https://beaglesecurity.com/blog/article/cms-vulnerabilities.html|titolo=CMS Vulnerabilities: Why are CMS platforms common hacking targets?|autore=Sooraj V. Nair|sito=CMS Vulnerabilities: Why are CMS platforms common hacking targets?|lingua=en|accesso=24 giugno 2022}}</ref>.
È tuttavia possibile rendere più sicure le piattaforme di CMS adottando una serie di accorgimenti, fra i quali l'aggiornamento continuo delle ultime versioni, l'aggiornamento dei plugin e l'utilizzo di tecniche anti-[[malware]] e anti intrusione, in special modo su [[WordPress]] (la piattaforma attualmente più utilizzata)<ref>{{Cita web|url=https://www.advertilo.com/come-rendere-sicuro-un-sito-wordpress/|titolo=Come Rendere Sicuro un Sito WordPress al 99%|data=1º maggio 2022|accesso=23 giugno 2022|dataarchivio=20 giugno 2022|urlarchivio=https://web.archive.org/web/20220620231752/https://www.advertilo.com/come-rendere-sicuro-un-sito-wordpress/|urlmorto=sì}}</ref>.
{{Cita web|url=https://www.serverplan.com/blog/cms-piu-diffusi/|titolo=CMS più diffusi: quali sono i migliori per blog, siti ed ecommerce?|autore=Riccardo Esposito|sito=Serverplan Blog|data=2021-03-01|accesso=15 luglio 2022}}</ref><ref>{{Cita web|url=https://www.ionos.it/digitalguide/hosting/cms/cms-a-confronto/|titolo=Confronto tra CMS nel 2022: i sistemi più popolari per la gestione dei contenuti|sito=IONOS Digitalguide|lingua=it|accesso=15 luglio 2022}}</ref>==
* [[WordPress]]
* [[PHP-Nuke]]
Riga 121 ⟶ 130:
* [[OpenCms]]
* [[DotNetNuke]]
*
* [[PHP-Fusion]]
* [[Pigeon CMS]]
Riga 128 ⟶ 137:
* [[Magento]]
* Adobe AEM
==CMS "senza testa"==
L'ultima frontiera dei CMS è basata sul concetto di ''headless CMS'' (letteralmente "senza testa") o ''Decoupled CMS architecture'' (letteralmente "architettura di CMS disgiunti"). L'idea è quella di creare un CMS del tutto separato dalla produzione di [[HTML|codice HTML]], che consentirebbe la creazione di un sito web senza [[template]], in cui la parte visibile all'utente (''[[front end]]'') è separata dal codice di programmazione (''back end''). Ad esempio, la [[Built.io]] di Neha Sampat ha annunciato di avere aggiornato il proprio sistema ''Contentstack'' con un nuovo set di [[Software development kit|SDK]] mobili per [[Android]] e [[iOS
==Note==
Riga 150 ⟶ 158:
== Altri progetti ==
{{interprogetto|preposizione=sul}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Controllo di autorità}}
|