Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - ricerca collaboratori
Forum - Tutto e di + - ricerca collaboratori

Avatar
Maury91 (Member)
Expert


Messaggi: 531
Iscritto: 18/09/2006

Segnala al moderatore
Postato alle 18:33
Venerdì, 23/12/2011
cercavo dei collaboratori per il mio ultimo progetto : NiiCMS (http://cms.niitec.org) se qualcuno vuole aiutarmi a :
+ Cercare bugs
+ Migliorare qualche sezione
+ Creare Templates
+ Creare Moduli
+ Creare Plug-in
+ Scrivere guide/ video tutorial
+ Aiutare a diffondere il progetto

può contattarmi per email, facebook o qua sul sito :D

PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 17:28
Sabato, 24/12/2011
spiegare le caratteristiche del tuo cms può aiutare nella valutazione del tuo cms.

PM Quote
Avatar
Maury91 (Member)
Expert


Messaggi: 531
Iscritto: 18/09/2006

Segnala al moderatore
Postato alle 19:11
Domenica, 08/01/2012
prima di iniziare, vi invito a visionare gli screen del cms in questa pagina :
http://cms.niitec.org/com_imageflow.html

Breve descrizione del CMS:
NiiCMS permette la creazione di siti sia per persone che non hanno la minima conoscenza di nessun linguaggio sia per veri e propri webmaster che intendono personalizzarlo fino al midollo, NiiCMS è multilingua, usa il mod_rewrite per una migliore indicizzazione del sito e regge i template in Ajax, come ogni CMS permette di dare privileggi agli utenti in modo da suddividere i compiti, ha esenzialmente due parti, una parte amministrattiva da dove si possono configurare e installare degli add-ons, creare e modificare pagine del sito e gestire menu e template. E una parte visibile al visitatore del sito dove vedrà il lavoro fatto nella parte amministrativa. Uno degli aspetti più importanti del CMS è il NiiService che permette di installare add-ons senza scaricare nessun files, e anche aggiornare il CMS con un solo click del mouse.
Per gli svillupatori di add-ons il lavoro è reso più semplice grazie al processo di astrazione della struttura del CMS che vi permetterà di scrivere i vostri componenti senza avere idea di come funzioni effetivamente il CMS




farò 2 descrizioni una per gli end-user una per gli sviluppatori

//per gli end-user

NiiCMS vi offre una piattaforma di base per creare i vostri siti, avrete tutte le funzionalità di base di un sito (login,registrazione,etc...) e un panello di amministrazione per poter personalizzare il vostro sito tramite l'installazione di componenti,plugin,moduli o scrivendo nuove pagine in php o in html per il vostro sito, vediamo il contenuto dell panello di amministrazione :

Zone mostrate in modalità non avanzata :

Impostazioni Globali
+ qui potete modificare i parametri globali del cms, non mi dilungo che basta entrarci per vederli, tra questi parametri c'è la possibilità di mettere il cms in modalità avanzata
+ per entrare in questa zona dovete essere SuperAdmin

Gestione Moduli
+ qui potete
- vedere e configurare i moduli installati (Admin)
- disinstallare e installare i moduli (SuperAdmin)

Componenti
+ qui potete
- vedere e configurare i componenti installati (Admin)
- disinstallare e installare i componenti (SuperAdmin)

Gestione Menu
+ qui potete gestire i menu (creare nuovi menu, cancellare menu) i menu son suddivisi in 3 categorie di menu (su,sinistra,destra) e i menu possono essere di 2 tipi : moduli (se guardate qua a sinistra sul sito di tofy potete vedere Chi è online,Sondaggio,Condividi,etc..) o menu di link (quello sopra a tutti)

Plug-in
+ è identico a componenti e moduli
+ livello di accesso : Admin

Gestione Template
+ Da qui potete cambiare lo stile grafico del vostro sito
+  per cambiare template bisogna essere Admin
+  per vederli e scaricarli SemiAdmin
+  per installarli e disinstallarli SuperAdmin

Pagine
+ Da qui potete scrivere nuove pagine per il vostro cms, le pagine che scrivete saranno accessibili da {nome_pagina}.htm
+  Creare una pagina html : SemiAdmin
+  Creare una pagina html che contiene anche del javascript : Admin
+  Creare una pagina php : SuperAdmin

Utenti
+ Qui potete gestire gli utenti
+  potete bannare,sbannare,cambiare di livello o cancellare un'utente se e solo se è di livello minore del vostro
+  autorizzare un'utente (confermare l'email)

NiiService
+ Questa zona permette l'installazione in one-click di componenti,moduli,plugin ed editors, dopo esservi registrati sul sito del cms potete eseguire il login e autorizzare il sito da questa zona (va fatto solo una volta dopo di che il sito diventa "vostro" e potete gestire alcuni dati anche dal vostro account sul sito del cms), qui con un solo click sul link "installa" installerete gli add-ons per il vostro cms senza dover scaricare nulla (lo reputo molto utile)
+ In futuro gli utenti potranno anche comprare componenti per poterli installare su tutti i propri siti
+ E altri utenti potranno caricare i loro componenti e venderli sul NiiService (una specie di iTunes)

Modalità Avanzata :
Tutte queste zone hanno come livello di accesso : Founder

Gestione Database
+ permette una piccola gestione del database sql, eseguire queryes sql, inserire nuovi record nelle tabelle, vedere le tabelle, scaricare un dump di ogni tabella, eliminare records, modificare records

File Explorer
+ una shell completa e fatta totalmente in ajax, va dal mostrare i files, alla modifica dei files, a settare i permessi, download, upload, eseguire comandi shell (wget,cd,dir,etc...),comprimere,decomprimere,cancellare,spostare,copiare

Backups
+ fare dei backups del proprio sito, c'è ne sono di diversi tipi : Solo SQL,Solo Dati,Totale,Autoinstallante,Distribuzione

Editors
+ qui potete installare/disistallare gli editors e settare per cosa usare ogni editor

//per gli sviluppatori

Allora NiiCMS è stato sviluppato a strati più o meno come un os, ogni strato ha bisogno di quello sottostante per funzionare
Lo strato più basso che ho chiamato "kernel" (so benissimo che non è un vero kernel) ha queste funzioni :
+ Astrazione del database
-   con l'astrazione del database per eseguire le query sql non si usa la "deprecata" mysql_query ma bensi sql_query.
-   sql_query() si occupa di :
-     + connettersi al server sql nel caso non si sia connessi (mysql_connect)
-     + eseguire mysql_real_escape_string nei parametri pari
-          in parole povere questa query : sql_query("SELECT * FROM table WHERE nick = ",$nick) è a prova di sql_injection a differenza della versione normale
-     + eseguire mysql_real... sugli array (nei parametri pari)
-           sql_query("insert into table (bla,bla,bla) VALUES (",array($1,$2,$3),")");
+ Astrazione dell'utente
-   potete trovare tutte le informazioni sull'utente nella variabile globale $user (o $GLOBALS['user']), in questa variabile potete trovare informazioni del tipo se l'utente è loggato ($user['logged'])(booleana) il livello dell'utente ($user['level'])(intero) e tutti i suoi dati presenti nella tabella del DB
+ Rilevazione della lingua
-   nella variabile $__lang trovate che lingua usa l'utente (scelta in base alle lingue disponibili, alla info rilasciate dal browser e le impostazioni che sceglie l'utente)

Poi c'è il core, ovvero le funzioni base del cms
+ Login
+ Registrazione
+ Recupero Password
+ Logout
+ Attivazione Email
+ Profilo

E poi le librerie per gli sviluppatori
+ __proto/captha.php
-   qua ci son le funzioni per usare il captcha
-    string mcaptcha($len = 5)
-       si occupa di creare un nuovo capthca, restituisce il suo id
-    bool captcha_control($id,$text)
-       si occupa di controllare che il testo scritto dall'utente corrisponda
-    void captcha_img($text,$x,$y,$bordo = false)
-       crea l'immagine del captcha, potete usare questa funzione per personalizzare il vostro captcha per far apparire l'immagine consiglio "<img src='img_captcha.php?c=$id'>"

+ __proto/func.php
-  qua ci son varie funzioni ma non le descriverò
-    string randword($len)
-    string fileread($filename)
-    bool send_mail($email,$corpo,$oggetto,$emitt,$mmitt)
-    bool cms_send_mail($email,$corpo,$oggetto)
-    array list_dir($directory)
-    array list_files($directory,$filter='*')
-    string fext($filename)
-    void download_file($filename)
-    int cms_time()
-    void del_dir($dir)

+ __proto/develop.php
-  qua ci son le funzioni ajax, per questo è meglio fare una guida a parte le elenco ma do una descrizione approfondita, potete trovare degli esempi quando scaricate il cms nelle pagine
- void auth_upload($folder,$exts,$multi=true)
-    Autorizza l'utente a caricare files
- string ajax_upload($name,$folder)
-    Restituisce il codice html/js per l'upload via ajax dei files
- bool decompress($file,$folder,$subs = false)
-     Decomprime un file .zip
- void auth_dirlist($folder)
-     Autorizza l'utente a sfogliare le cartelle (ma non i files)
- string ajax_dirlist($name,$folder)
-     Restituisce il codice html/js...
- void auth_filelist($folder,$exts)
- string ajax_filelist($name,$folder,$force=false)

+ __proto/down.php
-  qui ci son le funzioni server<->server
- void download($http,$name)
-   scarica un file da un'altro server
- string getf($http)
-   restituisce il contenuto di una pagina di un'altro server

+ __proto/dump.php
-  Qua ci son le funzioni per il dump del database non le descrivo ora...

+ __proto/editor.php
-  Qua ci son le funzioni per usare gli editors del cms
-   string get_editor($name,$value,$mode)
-    restituisce il codice di un'editor :
-        $name : nome della textarea o comunque del parametro che volete nel form
-        $value : contenuto che ci deve essere nell'editor
-        $mode : tipo di editor (php,simple,html,js...)

+ __proto/plugin.php
-   Son le funzioni per usare i plugin, potete creare dei plugin per i vostri componenti
-  plugin_com_add($com,$zones)
-   aggiunge una zona al vostro componente (un plugin potrà essere linkato a quella zona) (da usare quando si installa)
-  plugin_com_del($com)
-   elimina tutte le zone del componente (da usare quando si disinstalla)

Tutto quello che ho fatto fin'ora è una semplice lista ora spiego la struttura dei componenti,moduli e plugin

// Componente
un componente ha 2 files fondamentali (che andranno messi in un .zip, testate l'installazione consiglio di fare il file .zip con winrar)
1) {nome}.php
2) {nome}/com.inf

il primo file è il componente, verrà richiamato quando un'utente entra nella pagina com_{nome}.html potete scriverci tutto il codice che volete e fare tutte le sezioni che volete potete usare benissimo i form sia con post che con get funzionano benissimo

il secondo file è un file con contenuto xml che da informazioni sul componente vi invito a visionarne uno qualunque dai componenti esistenti per vederne la struttura (ci vorrebbe una guida sui componenti)

poi ci son dei file opzionali

3) {nome}/install.php
4) {nome}/unistall.php
5) {nome}/comconf.php

il terzo serve per installare il componente ad esempio se il vostro componente usa il database potete metterci il codice per creare le tabelle, potete anche farci una "prima configurazione", il file verrà richiamato all'installazione del componente e ogni volta che l'utente va nella pagina admin_component.html?install={nome} quindi potete fare un'installazione a più pagine, questo file smetterà di essere richiamato e verrà cancellato quando sarà richiamata la pagina admin_component.html?dinstall={nome}, quindi dovete mettere per forza un pulsante o un link o un redirect a questa pagina

il quarto viene incluso nella disinstallazione, non ha pagine...

il quinto viene richiamato quando l'utente calca su configura in amministrazione componenti, potete auto richiamarvi (per fare configurazioni a più pagine e per salvare i dati) con admin_component.html?conf={nome} (il conf funziona anche con il post)

//Moduli
Per i moduli la cosa è simile solo che il file principale sta dentro la cartella
1) {nome}/mod.php
2) {nome}/mod.inf

opzionali :

3) {nome}/install.php
5) {nome}/uninstall.php
5) {nome}/modconf.php

//Plugin
I plugin hanno minimo 2 files fondamentali
1) {nome}/plugin.inf
2) {nome}/???.php

il primo files è il file di installazione/configurazione è di tipo xml e oltre alle informazioni sul plugin ci son le informazioni su dove linkarlo, ad esempio :
Codice sorgente - presumibilmente Plain Text

  1. <install>
  2.                 <p0>
  3.                         <zone>core->index->begin</zone>
  4.                         <script>js</script>
  5.                 </p0>
  6.                 <p1>
  7.                         <zone>core->login->plg</zone>
  8.                         <script>plg</script>
  9.                 </p1>
  10.                 <p2>
  11.                         <zone>core->login->insert_data</zone>
  12.                         <script>data</script>
  13.                 </p2>
  14.         </install>


il file js.php sarà collegato alla zona begin dell'index del cms
il file plg.php sarà collegato alla zona plg del login del cms
e cosi via

i files opzionali sono
3) {nome}/install.php
4) {nome}/uninstall.php
5) {nome}/conf.php

//Editors
Potete creare anche nuovi editors ma questa parte la scriverò più avanti in quanto la reputo meno importante

Ultima modifica effettuata da Maury91 il 09/01/2012 alle 8:39
PM Quote
Avatar
Maury91 (Member)
Expert


Messaggi: 531
Iscritto: 18/09/2006

Segnala al moderatore
Postato alle 20:16
Domenica, 08/01/2012
Le migliorie da fare sono :
Amministrazione -> Menu / Kernel -> Template
+ menu multilingua (pensavo che un campo poteva essere visibile o non visibile in base alla lingua dell'utente, funzionamento simile a livello, puoi scegliere tra "Tutte","Lingua 1","Lingua 2",etc...)

Amministrazione -> Utenti
+ Bannare emails
//Questa parte è gia completa in parte in quanto nella registrazione controlla gia se un'email è bannata (residui da solarcms)
+ Bannare IP

Amministrazione -> Backups
+ Creare backup su server remoto

Amministrazione -> NiiCMS Service
+ Conservazione bakups (Account Pro)

PM Quote