Google Summer of Code návrhů

Návrh 1: Pracovní kopie z Joomla! Live webu


Abstrakt:

Podrobný popis:

IDEA a výhody:

Administrátoři obvykle pracují na svých stránkách přímo žijí a někdy dělají chyby jako všichni lidé. Jako výsledek, dostane živé místo demolovat po instalaci rozšíření / deinstalaci a re-konfiguraci. Cílem je mít funkční kopii živé stránky a provádět změny na to, pak, pokud je vše v pořádku po nějaké testování, můžete schvalovat změny a nástroj bude aplikovat je na vašich stránkách.

Rád bych také provést některé základní rysy Subversion do tohoto projektu, např. spáchat / schvalovat, update / synchronizovat, vrátit se, spojit, vytvořit patch, použije patch (SVN operace poté).

Pomocí tohoto nástroje, lidé budou dělat méně chyb na živé místo a dostat méně nervózní!

O mně:

Jsem Edvard Ananyan aka edo888, občan Arménie. Je mi 20 let a já byla udělena plné stipendium musí být vysokoškolský student v Jerevanu státní univerzity obor Aplikovaná matematika a fyzika (Ústav fyziky).

Být velmi zajímá v oblasti informatiky, mám také za sebou řadu open source projektů. Některé z nich jsou uvedeny níže:

  • GTranslate: automatický překlad modul založený na Google Translate
  • Jumi: Joomla! vlastní obsah balíček rozšíření (ve spolupráci s Martin Hájek)
  • Jumi Tipy a triky
  • JosLang: Vícejazyčný systém plugin (ve spolupráci s Davidem Thomas)
  • Xinha WYSIWYG editor plug-in

Jak možná víš, že jsem také Joomla! Bug Squad člen.

Můžete si přečíst více o sobě na svých webových stránkách: http://edo.webmaster.am/about

Zde je také on-line odkaz: http://tinyurl.com/edo888 -> http://jumi.vedeme.cz/index.php?option=com_contact&view=contact&id=2:ed&catid=12:contacts&Itemid=49

MEZNÍKY A VÝVOJ PROCESŮ Časová osa:

Vytvoření API rozhraní, a bude zapotřebí k dokončení tohoto projektu. Oba budou rozvíjeny současně, aby se mohli zkoušky z rozhraní. Budu se držet hlavní myšlenky kódování a standardy Joomla! Rámcové doufat, že to bude součástí Joomla! 1,6 v budoucnu.

Během procesu vývoje budu předpokládat, že žijí stránek (master nebo mateřskou později) a pracovní kopie (dítě poté) běží na stejné verze a konfigurace OS / Apache / MySQL / PHP, a konfigurace serveru zůstane beze změny ( Tento nástroj může být pouze testovací prostředí pro SERVER RE-konfigurace).

Nyní budu popisovat obecně, co to bude a jak snadné to bude pracovat. Zde jsou některé kroky mohou správci udělat:

  1. Vytvořit tolik dětské z hlavního na nich pracovat (admin může vytvářet i velké dítě)
  2. Změnit dítě (re-konfiguraci, přidat / editovat obsah, instalovat / odinstalovat / update extenze) a test (můžeme mít "špionážní bot" v případě potřeby na dítě k určení provedené změny snadno)
  3. Schvaluje změny živé místo s jedním z této možnosti:
    1. Vytvořte patch od dítěte
    2. Nalepte náplast na hlavní
    3. Přímo schvaluje změny master (ve skutečnosti to může dělat 3,1 pak 3,2, jen v jednom kroku)
  4. Zobrazit změny na dítě
  5. Synchronizace dítě s rodičem (když dítě je zastaralý)
  6. Vrátit se dítě do mateřské stavu
  7. Sloučit 2 místa (master-dítě nebo dítě-dítě) s referenční integrity

Existují 2 možnosti, aby se změny na Joomla! webové stránky, což je pro změnu databáze a / nebo systému souborů. Tak tam budou 2 typy funkcí API, které bude provádět změny v databázi a do souborového systému.

Práce se systémem souborů je nejjednodušší část, protože každý soubor má datum poslední změny, které umožňuje snadné určit, který soubor je novější.

Práce s databází, je mnohem složitější, protože tam mohou být různé scénáře se vztahy.

Mým cílem je, aby se API, které bude provádět operace SVN nejen základní tabulky, ale také na třetí strany tabulek, které mohou přijít s třetí stranou rozšíření.

Pouze tabulky, která bude mít neporušenou je # __session (není třeba dělat SVN operací na této tabulce, protože uživatelé budou pouze na master).

Chcete-li pracovat s databází, jako se systémem souborů, můžeme měnit všechny tabulky v dítěti a přidat last_modified_date sloupec a přidat impulsů pro aktualizaci akci, která bude aktualizovat last_modified_date např.

mysql> ALTER TABLE `` ADD table_name last_modified_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

Chcete-li se zničit vztahy mezi tabulkami, můžeme zvýšit hodnoty auto_increment sloupec v tabulkách dítě (v obecné vztahy jsou vyrobeny s auto_increment pole). Takže s tím budeme mít jistotu, že v případě, že admin bude pracovat přímo na hlavní (aby rychlejší změny), tam bude prázdný prostor mezi řádky tabulky, které se vkládají se pán a ty, které se vkládají s dítětem místo.

mysql> ALTER TABLE `` table_name AUTO_INCREMENT = 500; / * velká hodnota v závislosti na počtu řádek tabulky * /

Například:

+------+----------+---------------------+ | Id | názvu | last_modified_date | + - -----+----------+---------------------+ | 1 | Hlava 1 | 2009-03-21 14:05:40 | | 2 | Hlava 2 | 0000-00-00 00:00:00 | +++++++++++++++++++++++++++ ++++++++++++++ -> dostatek místa mezi 2 a 500, bude MyISAM Motor vyplnit nové řádky zde | 500 | Hlava 3 | 0000-00-00 00:00:00 | -> přidáno o dítě, už jsme zvýšenou hodnotu auto_increment na podřízené tabulce +------+----------+-------------------- - +

V tomto případě sloučení bude jednodušší.

Budoucí vylepšení: Je také možné mít tabulky historie (# __tablename_history) pro každou tabulku v db, která bude mít verze řádku tabulky v něm. To umožní verzování celou databázi. Nejen obsah, ale také parametry, modul pozice, atd. by verzí. Další věc, kterou lze udělat, je mít jazyk tabulky a udržet překlady řádku tabulky v nich.

Jdu do práce 8 hodin denně, 5 dní v týdnu, je to práce na plný úvazek.

20. dubna - 17. května: Čas mluvit s mentorem
1. týden 18. května - 22: Rozhraní a API funkce, aby se dítě od pána. (1)
2. týden 25. května - 29: Rozhraní a API funkce pro zobrazení změny provedené na dítě. (4)
3. týden 1 až 5. 06.: Rozhraní a API funkce vrátit che dítě. (6)
4. týdnu od 8 do 12. června: Rozhraní a API funkce pro synchronizaci dítěte. (5)
5. týden 15. června - 19: Rozhraní a API funkce pro opravu. (3.1)
6. týden 22. června - 26: Rozhraní a API funkce aplikovat patch. (3.2, 3.3)
7. týden 29. června - 3.července: Připravte se na MID-TERM HODNOCENÍ
8. týden 6-10 7: PŘEDLOŽENÍ MID-TERM HODNOCENÍ
9. týden 13. července - 17: Rozhraní a API funkce sloučit 2 místa. (7)
10. týden 20. července - 24: Vyhrazený čas
11. týden 27. července - 31: Vyhrazený čas
12. týden 3-7 srpna: PŘÍPRAVA pro konečné hodnocení, uvedení všechno na svém místě
13. týden 10. srpna - 14: Tužky DOWN, Souhrnně VÝSLEDKY, psaní dokumentace
14. týden 17. srpna - 21: Předložení konečné HODNOCENÍ
22. srpna - 25: ČAS NA LAST MINUTE ROZHODNUTÍ

Motivace:

  • Přináší nové funkce pro Joomla!
  • Dělat to velký krok směrem k profesionální kariéře
  • Zapojit se do seriózní projekt vývoje pro získání více zkušeností
  • Setkání se zajímavými lidmi, učení se od nich a jednoduše baví!
  • Zvýšení šance na získání plné stipendium pro magisterské vzdělání v USA
  • Vydělávat nějaké peníze pro své další vzdělávání
  • Díky sny

Těším se i nadále přispívat k Joomla! v budoucnu organizovat a Joomla! Arménská komunita.

Buy Oil Paintings, Acrylic Paintings, order custom painted Murals, Portraits, Landscapes, Still Lifes, Flowers, Replicas and Art Prints on ArtMaestro.com.
Cestovní portál - tours.am! Hledání výlety v Arménii, Prohlídka, Vyhledávání zájezdů on-line, rezervace hotelů on-line, Cestovní novinky.