diff options
Diffstat (limited to 'doc/Intro-for-Developers.md')
-rw-r--r-- | doc/Intro-for-Developers.md | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/doc/Intro-for-Developers.md b/doc/Intro-for-Developers.md new file mode 100644 index 000000000..bf74cb7c1 --- /dev/null +++ b/doc/Intro-for-Developers.md @@ -0,0 +1,105 @@ +File system layout: +=================== + +[addon] optional addons/plugins + +[boot.php] Every process uses this to bootstrap the application structure + +[doc] Help Files + +[images] core required images + +[include] The "model" in MVC - (back-end functions), also contains PHP "executables" for background processing + +[index.php] The front-end controller for web access + +[install] Installation and upgrade files and DB schema + +[js] core required javascript + +[library] Third party modules (must be license compatible) + +[mod] Controller modules based on URL pathname (e.g. http://sitename/foo loads mod/foo.php) + +[spec] protocol specifications + +[util] translation tools, main English string database and other miscellaneous utilities + +[version.inc] contains current version (auto-updated via cron for the master repository and distributed via git) + +[view] theming and language files + + +[view/(css,js,img,php,tpl)] default theme files + +[view/(en,it,es ...)] language strings and resources + +[view/theme/] individual named themes containing (css,js,img,php,tpl) over-rides + + +The Database: +============= + +* abook - contact table, replaces Friendica 'contact' +* account - service provider account +* addon - registered plugins +* attach - file attachments +* auth_codes - OAuth usage +* cache - TBD +* challenge - old DFRN structure, may re-use or may deprecate +* channel - replaces Friendica 'user' +* clients - OAuth usage +* config - main configuration storage +* event - Events +* fcontact - friend suggestion stuff +* ffinder - friend suggestion stuff +* fserver - obsolete +* fsuggest - friend suggestion stuff +* gcign - ignored friend suggestions +* gcontact - social graph storage, obsolete +* glink - social graph storage - obsolete +* group - privacy groups +* group_member - privacy groups +* hook - plugin hook registry +* hubloc - Red location storage, ties a location to an xchan +* intro - DFRN introductions, may be obsolete +* item - posts +* item_id - other identifiers on other services for posts +* mail - private messages +* manage - may be unused in Red, table of accounts that can "su" each other +* notify - notifications +* notify-threads - need to factor this out and use item thread info on notifications +* outq - Red output queue +* pconfig - personal (per channel) configuration storage +* photo - photo storage +* profile - channel profiles +* profile_check - DFRN remote auth use, may be obsolete +* queue - old Friendica queue, obsolete +* register - registrations requiring admin approval +* session - web session storage +* site - site table to find directory peers +* spam - unfinished +* term - item taxonomy (categories, tags, etc.) table +* tokens - OAuth usage +* verify - general purpose verification structure +* xchan - replaces 'gcontact', list of known channels in the universe +* xlink - "friends of friends" linkages derived from poco +* xprof - if this hub is a directory server, contains basic public profile info of everybody in the network +* xtag - if this hub is a directory server, contains tags or interests of everybody in the network + + +How to theme Red - by Olivier Migeot +==================================== + +This is a short documentation on what I found while trying to modify Red's appearance. + +First, you'll need to create a new theme. This is in /view/theme, and I chose to copy 'redbasic' since it's the only available for now. Let's assume I named it <theme>. + +Oh, and don't forget to rename the _init function in <theme>/php/theme.php to be <theme>_init() instead of redbasic_init(). + +At that point, if you need to add javascript or css files, add them to <theme>/js or <theme>/css, and then "register" them in <theme>_init() through head_add_js('file.js') and head_add_css('file.css'). + +Now you'll probably want to alter a template. These can be found in in /view/tpl OR view/<theme>/tpl. All you should have to do is copy whatever you want to tweak from the first place to your theme's own tpl directory. + + + |