User Tools

Site Tools


dev:skeleton:draft

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:skeleton:draft [2013/06/25 08:12]
Alia
dev:skeleton:draft [2013/07/30 13:34] (current)
Line 1: Line 1:
-Создать dev crash course (DCC), который будет содержаться ​в себе вводные инструкции по работе ​с кодом Oxwall, ​сопровождаемые последовательно расставлеными (закоменченными) примерами в плагине-скелетоне. Которые ​юзер может раскомменчивать по ходу чтения DCC.+Создать dev crash course (DCC), который будет содержаться ​пример работы функционала и ссылку на файл с кодомкоторый его реализует
  
 Выглядеть это будет так: ​ Выглядеть это будет так: ​
  
-=== Add menu item === +<​html><​div style="​border:​ 1px solid #000; padding10px"></​html>​
-чтобы добавить новую странице в главное меню, расскоменьте:+
  
-File: /​ow_plugins/​skeleton/​routing.php +[Page Header]
-Line: 83+
  
-<​code>​Some PHP here</​code>​+[Short description]
  
-При этом, в коде, через комментарии указать всю необходимую техническую инфу: какие параметры принимаются,​ какие отдаются. У человека,​ читающего код, не должно возникать вопросов какие данные передаются и отдаются. ​+<​code>​Code File: /​ow_plugins/​skeleton/​routing.php</​code>​ 
 + 
 +|При этом, в коде, через комментарии указать всю необходимую техническую инфу: какие параметры принимаются,​ какие отдаются. У человека,​ читающего код, не должно возникать вопросов какие данные передаются и отдаются.
 + 
 +Ниже следует пример функционала,​ сделанный по сценарию.  
 + 
 +<​html></​div></​html>​
  
 ===Skeleton=== ===Skeleton===
Line 31: Line 35:
   - где активируется   - где активируется
   - зачем нужно, на что влияет   - зачем нужно, на что влияет
 +указать адрес странички по добавлению ключей. ( dev tools).
  
 ==plugin.xml== ==plugin.xml==
Line 39: Line 44:
  
 ==Routing== ==Routing==
 +URL: /​skeleton/​routing
  
-  ​добавить в меню новый айтем text("Skeleton") +<​code>​ 
-  добавить новый маршрут ​"/skeleton+-name: "Item name". type "input box". invitation label:"​My item". required 
-  задать meta данные страницы (title: ​text("Skeleton ​Page"), meta description: text("skeleton description")headertext("Skeleton Header") ).+-name: "Menu name". type "​select box". values: val1=footer,​ val2=header. required. 
 +-name: "Page Title"​. type "input pox". invitation label: "My page title". required 
 +-name: "​Page ​Meta Tags". type "text area". invitation label: "​My ​meta tags"​ 
 +-name"Page Content"​. type: "text area". invitation label: ​"My page content"​. required 
 +-name: "​Visible for". type "​select box". values: val1=guestsval2=registered members. required. 
 +-name: "Сreate"​. ​type: "​submit"​. ​   
 +-table name: "​Created Pages"​. columns:2. rows:min 1.  
 + ​column1="​Page title";​ column2="​Actions":​ button name "​Delete"​.  
 +</​code>​
  
 +*Количество cтраниц которые можно создавать не ограничено. ​
 +
 +*Все добавленные страницы выводить в таблице. table name: "​Created Pages"
 +
 +*Если не все required поля заполнены display notice. notice text: "Fill in the form properly"​.
 +
 +*Если все поля заполнены то создать страницу и добавить меню айтем в указанное место. ​
 +
 +*Если нажимают на "​Delete",​ то страница и ее item в меню удаляются
 ==Localization== ==Localization==
  
-  - добавить новый ключ в админке (keyhello-world,​ text: Hello world), с префиксом ​skeleton ​(создается автоматом,​ при установке) <​link-to-user-manual|Ask-Den>​. Оставить ссылку на секцию с описанием Pre Installation/Activation. +URL/skeleton/localization
-  - вызвать текстовый ключ hello-world в PHP коде на странице /skeleton и присвоить значение переменной.  +
-  - вызвать текстовый ключ hello-world в шаблоне компонента+
  
-==Forms==+<​code>​ 
 +-name: "Enter text key". type: "​text-input"​. invitation label: "Hello World"​.  
 +-name: "Enter original value"​. type: "​text-input"​. invitation label: "​Welcome to my site".  
 +-name: "​Create"​. type: "​submit"​.  
 +-table name: "​Сreated Text Keys". columns: 3. rows: min.1
  
-  ​создать ​формуна странице ​/​skeleton ​с полями:+      column1= "Text Key Values" ​            ​сolumn2= "​Original Values" ​  ​column3="​Actions"​ 
 +      {text key='​skeleton+hello_world'​} ​     Welcome to my site           ​name:"​Delete"​. type:"​button"​ 
 +       
 +</​code>​ 
 +*Количество ключей которые можно ​создавать ​не ограничено. Все ключи после создания выводить ​ в  таблицу Created Text Keys (см. выше).  
 + 
 +*Ко всем созданным ключам автоматически добавлять префикс '​skeleton+'​. 
 + 
 +*Если нажимают "​Delete"​ ключ и его значение удаляются и убираются с таблицы. 
 + 
 +*Если нажимают "​Create"​ не заполнив "Enter text key" и "Enter original value" выводить notice. notice text: "Fill in the form properly"​.  
 + 
 +сли нажимают "​Create",​ но создаваемый ключ уже существует,​ то выводить notice.notice text: "Text key already exists"​. То есть должна быть ​проверка на дублирующиеся ключи
 +   
 +==Forms== 
 + URL/​skeleton/​forms
  
   - name: text("​Text"​) / type: text-input / description:​ text("​additional field'​s description"​)   - name: text("​Text"​) / type: text-input / description:​ text("​additional field'​s description"​)
Line 74: Line 114:
  
 ==File storage== ==File storage==
-картинка+URL: /​skeleton/​file-storage. 
 + 
 + <​code>​ 
 +  - name: "​Upload Image"​. type "​file"​. button name "​Browse"​. 
 +  - name: "Image Description"​. type "​text"​. predefined label:​("​describe your image"​) 
 +  - name: "​Upload"​. type: "​submit"​ 
 +  - После успешной загрузки отобразить изображение с Short Description. 
 +  - Если изображение не подгрузилось то display notice. notice text: "​Unacceptable file extension"​. 
 +</​code>​ 
 + 
 +    
 ==Decorators== ==Decorators==
 пропускаем пропускаем
 ==Mail sending== ==Mail sending==
-простеший функционал отправик писем. отк огда кому. тема и текст+URL: /​skeleton/​mail-sending 
 + 
 +<​code>​ 
 +-name: "​From"​. type: "​text-input"​.invitation label: "​youremail@example.com"​ 
 +-name: "​To"​. type: "​text-input"​. invitation label: "​recepientemail@example.com" ​   
 +-name: "​Topic"​. type: "text input"​. invitation label: "enter email title"​ 
 +-name: "​Body"​. type: "text area". invitation label: "enter email body"​ 
 +-name: "​Deliver"​. type: "​radio-button"​. values:  
 +       ​val1=Immediately 
 +       ​val2=Add to Queue.Рядом ​ отобразить notice.notice text: "Email will be sent when Cron runs"​ 
 +-name: "​Send"​. type: "​submit"​. 
 +</​code>​ 
 + 
 +*invitation label: это текст который отображается по дефолту. При ​клике на поле, текст исчезает. 
 + 
 +*К полям "​To"​ и "​From"​ добавить простейшую проверку на формат email (ex: что бы была @ и не было запрещенных символов). 
 + 
 +*Если письмо было отправлено успешно то display notice. notice text: "Your message was sent successfully"​. 
 + ​Если письмо не было отправлено по какой ​то причине display notice: notice text: "Error sending message"​. 
 ==Activity Notifications== ==Activity Notifications==
-подумать какие сценарии можно добавлять. "нажмите сюда что бы появилось то то то "...+ 
 +URL: /​skeleton/​notifications 
 +<​code>​ 
 +name: "​Notification sender"​|"<​img src="​{$link_to_loged_in_user_avatar}"/>​ {$username} 
 +name: "​Notification Content"​. type: "input text". invitation label: "My new notification"​. required 
 +name: "​Notification URL". type: "input text". invitation label:"​www.mysitename.com/​dashboard"​. 
 +name: "​Attach image"​. type "​file"​. button name: "​Browse"​. optional. 
 +name: "​Notify by email"​. type "check box". optional  
 +      NOTE: created real time notification will be delivered by email depending on your profile'​s email notification settings 
 +name: "​Send"​. type "​Submit"​ 
 +</​code>​ 
 + 
 +* Сделать ​проверку на загрузку изображения ( что бы можно было добавлять ​только картинки а не .doc или .pdf к примеру) 
 + 
 +* Можно ​создавать хоть сколько нотификейшенов.  
 + 
 +* Если ​были заполнены не все required поля выводить ностис. notice text: "Fill in the form properly"​. Если все было заполнено корректно то создать нотфикейшен 
 + 
 +* Если подгружаемый файл не является картинкой выводить нотисnotice text: "​Unacceptable file extension"​ 
 + 
 ==Newsfeed== ==Newsfeed==
-как ​добавить новый айтем ​в ньюсфид.+URL: /​skeleton/​newsfeed 
 + 
 +<​code>​ 
 +name: название и аватрка того ​кто залогинен.( sender) 
 +name: "​Newsfeed Item Content"​. type "text input"​.required. 
 +name: "Place on:". type "​select-box"​. val1=Dashboard Newsfeed val2=Index Newsfeed. val3=Profile Newsfeed. required 
 +name: "Add entry"​. type "​Submit"​. ​     
 +</​code>​ 
 + 
 +* Если все заполнено правильно вывести нотис "You have successfully added newsfeed item added to {$ место тут}"​ 
 ==Widgets== ==Widgets==
-как добавитьс ​вой виджетв коде. "нажмите на эту кнопку"... +URL: /​skeleton/​widgets 
-==Javascript== + 
-подумать. +<​code>​ 
-==Ajax==+name: "​Widget Content"​|{$profiles_list_widget} ( заметка: отобразить стандартный виджет ​с latest users   
 +      profiles). 
 +name: "Place widget on page"​. ​type "​select box"vales: val1="​User Profile",​ val2="​User Dashboard",​ val3="​Index"​
 +name: "​Add"​. type:"​Submit"​.  
 +table name: "​Created widgets"​. number of col=2. rows=min 1 
 + col1="​Latest Users Widget"​ col2"​Widget placement"​. col=3 "​Actions"​ (delete) 
 +</​code>​ 
 + 
 +==Floatbox== 
 +URL: /​skeleton/​floatbox 
 + 
 + 
 + 
 +<​code>​ 
 +text: "This is a component"​ 
 + 
 +button: "​Reload me", after click text changes to "​Component has been reloaded via ajax"​ 
 + 
 +button: "Close floatbox"​ 
 + 
 +</​code>​ 
 +  
 + 
 +==Ping request== 
 +раз в секунду. посоветоваться с Зарифом 
 +как добить его. 
 + 
 +== Сron Jobs==
 подумать подумать
 +
 ==Profile questions== ==Profile questions==
-подумать. keywords- считывание значенийдобавление кастомного поляредактирование. ​+URL: /​skeleton/​profile_questions 
 + 
 +<​code>​ 
 + 
 +name: "​Username"​type: textvalue 
 +name: "​Gender",​ type: radio, selected value 
 +name: "​Birthday",​ type: date (birthday), selected value 
 + 
 +name: "​Save"​  
 + 
 +</​code>​ 
 + 
 +  ​
 ==ACL== ==ACL==
-access...level . управление пермишенами.создавание новых сервисов и считывание пермишенов+ 
 +URL: /​skeleton/​access_level 
 + 
 +Описать метод ​проверки action для текущего юзера 
 + 
 +Описать метод проверки для модератора 
 + 
 +Описать метод добавления action ​при ​установке плагина 
 + 
 ==Admin Settings== ==Admin Settings==
-как добавлять новые конфиги.+URL: /​skeleton/​admin_settings/​ 
 + 
 +<​code>​ 
 +name: "​Configuration name". type: "​text-input"​. invitation label: "My New Configuration"​. required. 
 +name: "Place configuration under:"​. type: "​list"​. val1=Dashboard,​ val2=Users, val3=Settings,​  
 +       ​val4=Privacy&​Permissions,​ val5=Appearance,​ val6=Pages&​Menus,​ val7=Plugins. required 
 +name: "​Configuration URL". not editable. Заметка: cгенерить и отобразить УРЛ admin/​skeleton  
 +       /​{$selected_menu_item_name}/​configuration_name 
 +name: "​Upload your php code:"​. type: "​file"​. required. Ex:  СONFIG type . select box с типами.( узнать у девелоперов). и если юзер выбирает малтипль значение то попросить ​ввести возможные значения. 
 + 
 +name: "​Add"​. type "​submit"​. 
 +name: "​Created Configurations"​. type: "​Table"​. number of cols=2, number of rows=min1 
 +      col1=Configuration name, col2=Actions (delete). 
 +</​code>​ 
 + 
 +для зарифа. ​конфига обязательно должан появиться в сетингах плагина Skeleton. 
 +*Если поля какое то из обязательных полей не было заполнено display notice: "Fill in the form properly"​.  
 + 
 +*Если все поля были заполнены display notice: "​Configuration was added successfully. Configuration URL:   
 + ​{$configuration-url}."​ 
 + 
 +*После перехода по урлу открыть страницу с залитым кодом юзера. 
 ==Pre Installation/​Activation== ==Pre Installation/​Activation==
 сценарий добавления какого то функционала плагином при установке. Больше Серегеина работа. сценарий добавления какого то функционала плагином при установке. Больше Серегеина работа.
 ==Post Uninstallation/​Deactivate== ==Post Uninstallation/​Deactivate==
 то же самое. Сереге то же самое. Сереге
dev/skeleton/draft.txt · Last modified: 2013/07/30 13:34 (external edit)