Man Tecnico:Framework e db

From CDG Wiki
Jump to navigation Jump to search

Struttura directory

Il bootstrap del software avviene dal file cm/main.php il quale istanzia la classe del CMS richiamando il metodo statico process().

Il codice è suddiviso in cartelle che rispecchiano il loro contenuto.

Directory Descrizione
/classes/ contiene le classi delle entità che vengono istanziate nella business logic del software.
/cm/ contiene il CMS di base.
/conf/ contiene le configurazioni globali del software.
/contents/ contiene i files della business logic e l’xml dei template di pagina.
/ff/ contiene i file sorgenti del Forms Frameworks.
/ffsetup/ contiene il codice che permette di installare il Form Framework.
/library/ contiene tutte le librerie PHP di terze parti.
/modules/ contiene i moduli di default del content manager (bredcrumb, notifier, security, restricted).
/moduli/ contiene i moduli che vengono caricati nel cms con funzionalità aggiuntive. Per esempio: coan, investimenti, pac, progetti, programmazione strategica.

I moduli vengono istanziati se hanno i 2 file presenti nella cartella (common e mod_config, nomencaltura personalizzabile da conf/common.php).

/sql_db_dump/ contiene il dump del database (db_tables.sql). Eliminare in pubblicazione.
/themes/ contiene i template grafici del software.
/uploads/ contiene tutti i files statici che vengono caricati e possono essere scaricati dagli utenti

Modello ER

cm_charset_decode (ID, code, value)

cm_gs (ID, optin, is_ int, from_email, name, reply_to_email, created_on, from_name )

cm_layout (ID, path, layer, page, main_theme, theme , title, class_body, enable_cascading, reset_cascading, ignore_s, exclude_ff_js, exclude_form, enable_gzip, compact_js, compact_css, ignore_s_main, reset_css, reset_js, domains mediumtext)

cm_layout_cdn (ID, ID_layout, name, type, url, status

cm_layout_css (ID, ID_layout, path, file, name, cascading, priority, order, index, exclude_compact, visible, theme_include)

cm_layout_js (ID, ID_layout, path, file, name, cascading, plugin_path, js_path, priority, order, index, exclude_compact, theme_exclude, theme_include, visible)

cm_layout_meta (ID, ID_layout, name, type, content, cascading)

cm_layout_sect (ID, ID_layout, name, value, theme_include, cascading

cm_mod_restricted_settings (ID, ID_domains, name, descrizione, value)

cm_mod_security_domains (ID, nome, owner, company_name, type, creation_date, expiration_date date, time_zone, status, billing_status, db_host, db_name, db_user, db_pass, ID_packages, max_users, username, password)

cm_mod_security_domains_fields (ID, ID_domains, field, value)

cm_mod_security_packages (ID, name, type, order)

cm_mod_security_packages_fields (ID, ID_packages, field, value, unlimited)

cm_mod_security_profiles (ID, nome, created_time, created_user, modified_time, modified_user, enabled)

cm_mod_security_profiles_pairs (ID, ID_profile, path, label, view_own, view_others, modify_own, modify_others, insert_own, insert_others, delete_own, delete_others)

cm_mod_security_rel_profiles_users (ID, ID_user, ID_profile)

cm_mod_security_timezones (ID, name)

cm_mod_security_token (ID, token, type, ID_user, ID_domain)

cm_mod_security_users (ID, ID_domains, username, password, level, status, expiration, email, time_zone, role, created, modified, password_generated_at, temp_password, password_used, ID_packages, lastlogin, profile, special, avatar, firstname, lastname)

cm_mod_security_users_fields (ID, ID_users, field, value)

cm_showfiles (ID, name, source, field_file, path_temp, path_full, expires)

cm_showfiles_modes (ID, ID_showfiles, name, shortdesc, dim_x, dim_y, max_x, max_y, bgcolor, mode, when, alignment, theme, alpha, format, wmk_enable, wmk_image, wmk_alignment, format_jpg_quality)

cm_showfiles_where (ID, ID_showfiles, name, dbskip)

ff_international (ID, ID_lang, word_code, description, is_new, last_update)

ff_languages (ID, code, description, status, tiny_code)

ff_languages_names (ID, ID_lang, ID_trans, name)

support_countries (ID, desc, code)

support_province (ID, RegionID, Name, CarAbbreviation, slug)

support_regioni (ID, Name, slug)

Note tecniche

Tutte le tabelle del db sono definite in formato utf8mb4, collation utf8mb4_unicode_ci. L'engine utilizzato è InnoDB.

E' importante sottolineare che a livello di DB non vengono gestite chiavi esterne ed ogni tabella presenterà come chiave univoca un campo intero autoincrementale "ID", utilizzato per praticità di scrittura del codice. La logica sulle relazioni e sulle chiavi composte viene demandata completamente all'applicativo.

Torna all'Indice del Manuale Tecnico