Plugins are modules that extend the functionality of mobile apps built with Buzztouch. They allow app owners and developers to efficiently create compelling apps without advanced programming skills. Anyone can create a plugin, but they typically require some programming experience. Plugins are managed and distributed through Buzztouch control panels and the Plugin Marketplace. They provide an endless amount of flexibility for building custom mobile apps.
Plugins are modules that extend the functionality of mobile apps built with Buzztouch. They allow app owners and developers to efficiently create compelling apps without advanced programming skills. Anyone can create a plugin, but they typically require some programming experience. Plugins are managed and distributed through Buzztouch control panels and the Plugin Marketplace. They provide an endless amount of flexibility for building custom mobile apps.
Buzztouch Plugins Rev 11/20/2013 1 of 1 Table of Contents !"out Plugins############################################################################################ $ %hat &lugins do######################################################################################$ %h' &lugins are necessar'####################################################################### ( %ho creates &lugins################################################################################ ( )o* do + get ne* &lugins######################################################################### , Managing Plugins in the Buzztouch control &anel#############################################, +nstalling &lugins in a "uzztouch#co- control &anel######################################, .&dating &lugins in a "uzztouch#co- control &anel###################################### Re-oving &lugins fro- a "uzztouch#co- control &anel################################# Managing Plugins in a Self )osted control &anel############################################## +nstalling &lugins in a self hosted control &anel############################################/ .&dating &lugins in a self hosted control &anel############################################/ Re-oving &lugins fro- a self hosted control &anel#######################################/ Plugins on the self hosted control &anel0s *e" server####################################/ .sing Plugins in !&&lications######################################################################## 1 Creating a ne* screen using a &lugin######################################################### 1 Modif'ing a screen0s "ehavior##################################################################10 Creating Plugins####################################################################################### 11 %hen to create a ne* &lugin###################################################################11 2hings to consider *hen creating ne* &lugins###########################################12 Selling or sharing &lugins in the Buzztouch -arket##################################### 12 .&dating a &lugin in the Buzztouch -arket###############################################13 .&dating a &lugin hosted on a third &art' *e"site or "log###########################13 2he &lugin &ackage################################################################################13 .nderstanding the config3c&#t4t file######################################################### 1( Rev 11/20/2013 2 of 1 Rev 11/20/2013 3 of 1 About Plugins 5ver' screen in a Buzztouch a&& is derived fro- a &lugin# 6or this reason, understanding *hat &lugins do, ho* to find the-, ho* to install the-, and ho* to use the- is i-&ortant if 'ou *ant to create an'thing "e'ond the -ost "asic a&&# So-e &lugins are si-&le, so-e &lugins are co-&le4, "ut all &lugins hel& 'ou e4tend the usefulness of an a&&lication# .sing the right &lugins and / or creating 'our o*n &lugins hel&s 'ou -ake 'our a&&lication do al-ost an'thing 'ou can think of# +f 'ou can i-agine it, a &lugin can do it# %hen 'ou add ne* screens to an a&&, 'ou start "' choosing an e4isting &lugin fro- a list in the control &anel# 2he choices in the list are deter-ined "' the nu-"er of &lugins installed in 'our control &anel# 7n "uzztouch#co- control &anels, individual users deter-ine *hich &lugins are installed in their control &anels# 7n self hosted servers, the installed &lugins are controlled in the !d-in Panel of the soft*are# 2his -eans that if 'ou *ant to use a &lugin that does not sho* u& in the list of choices in 'our control &anel, 'ou0ll need to install that &lugin "efore 'ou can use it in an a&&lication# !fter 'ou install a &lugin, it is availa"le for use in all of the a&&lications in 'our control &anel# 87259 +f 'ou install a ne* &lugin after do*nloading the source code for one of 'our &ro:ects, that &ro:ect %+;; 872 contain the ne* &lugin# 2his -eans 'ou *ill need to re< do*nload the source code &ackage for that a&&lication then u&date the a&&lication =re<co-&ile it in >code or 5cli&se? so it includes the ne* &lugin source code# 2his is an i-&ortant conce&t that -an' ne* a&& o*ners struggle *ith# What plugins do 6ro- an a&& o*ners &ers&ective### 1# Plugins allo* a&& o*ners an al-ost endless a-ount of fle4i"ilit' *hen creating -o"ile a&&s# 2# Plugins allo* a&& o*ners to efficientl' and effectivel' create co-&elling native a&&s *ithout learning co-&le4 &rogra--ing languages# 3# Plugins allo* a&& o*ners to save an tre-endous a-ount of -one' *hen -aking native -o"ile a&&s =co-&ared to hiring a develo&er to create an a&& fro- scratch?# Rev 11/20/2013 $ of 1 6ro- a develo&ers &ers&ective### 1# Plugins allo* develo&ers and &rogra--ers to e4tend the functionalit' of the Buzztouch &latfor- in an endless nu-"er of *a's# 2# Plugins allo* develo&ers and &rogra--ers to earn revenue "' selling their creations# 2his -a' "e in the "uzztouch#co- Plugin Market or on a third &art' *e"site or "log# 3# Plugins allo* develo&ers and &rogra--ers a *a' to e4tend their -o"ile develo&-ent skills, gain e4&osure and credi"ilit', and to sho*case their &rofessional *ork# Why plugins are necessary Plugins are necessar' "ecause there is no *a' to &redict in advance *hat an a&&lications &ur&ose, intention, or audience is# Cookie<cutter a&&s and te-&late driven a&&roaches can cover lots of the situations "ut not all of the-# 2he fact is, the "est a&&s, the highest @ualit' a&&s, and the -ost successful a&&s al*a's include uni@ue features that set it a&art fro- all the others# %e have s&ent 'ears at "uzztouch#co- learning, discovering, and i-&roving our conce&t of *e"<"ased a&& -anage-ent# +n this ti-e *e have gained a dee& understanding of *hat *orks, *hat doesn0t *ork, *hat develo&ers *ant, and *hat end<users e4&ect# !n organized, efficient, useful, "eautiful, and oftenti-es fun a&& is the o":ective# ! &lugin architecture is our a&&roach to hel&ing 'ou -eet that o":ective# 8earl' ever' idea or feature 'ou see in a -o"ile a&& is an e4tension of an e4isting idea# Aer' fe* a&&s are genuinel' uni@ue, -ost are i-&rove-ents or e4tensions of functionalit' found in other a&&s# 6or non<creative a&&s, such as a utilit' a&& used "' a grou& of e-&lo'ees, necessar' functionalit' "eco-es -ore &redicta"le# +t is -uch -ore efficient for an a&& develo&er to i-&le-ent custo-ized features and functions "' starting *ith an e4isting foundation of code# 6or e4a-&le, creating a -a& highlighting local restaurants is not uni@ue# )o*ever, i-&le-enting a ne* su&er<restaurant<locator *ith a ne* and e4citing feature could hel& set the a&& a&art fro- other e4isting a&&s# 6or the develo&er, it -akes sense that the &rogra--ing of the su&er<restaurant<locator feature *ould "egin "' leveraging code alread' *ritten in a generic, "oring -a&# Re&ur&osing code is a significant ti-e saver and the Buzztouch &lugin architecture -akes this &ossi"le# Who creates plugins !n'one can create a &lugin# +n -ost cases, ne* &lugins are created using the Plugin Creator tool found in 'our account control &anel at "uzztouch#co-# 2he Plugin Creator 2ool is onl' availa"le to Buzztouch Me-"ers, not guests# )o*ever, it is &ossi"le, and co--on, to create ne* &lugins *ithout using the Plugin Rev 11/20/2013 ( of 1 Creator tool at "uzztouch#co-# +n this case, it0s a -atter of understanding *hat constitutes a Buzztouch &lugin B&ackageC and asse-"ling that &ackage -anuall'# +n -ost cases, &eo&le that create co-&elling &lugins identif' the-selves as develo&ers or as&iring develo&ers# 87259 Plugins that are created -anuall' =*ithout using the Plugin Creator tool? cannot "e u&loaded to a Buzztouch control &anel and cannot "e distri"uted in the Buzztouch Plugin Market# 2his -eans that a &lugin 'ou create -anuall' =*ithout using the Plugin Creator tool? *ill onl' "e useful to a&& o*ners running their o*n Buzztouch self hosted control &anel# +t does take &rogra--ing skill and e4&erience to create so&histicated &lugins# 6or this reason, it is ver' co--on for ne* or as&iring develo&ers to "egin creating &lugins onl' to find that the' need hel& *ith so-e &rogra--ing "efore the' can finish &erfecting their idea# 2his is nor-al and &art of the learning &rocess# +n -an' cases, &lugins are created "' a non<develo&er, then co-&leted "' a develo&er hired to hel& co-&lete a -o"ile a&& &ro:ect# How do I get new plugins +n -ost cases &lugins are discovered and installed in a Buzztouch control &anel "' *a' of the Buzztouch Plugin Market# Plugins in the -arket can also "e do*nloaded for use in self hosted control &anels# 2hird<&art' *e"sites and other develo&ers -a' also distri"ute &lugins# Managing Plugins in the Buzztouch control panel 2he list of &lugins availa"le in a Buzztouch control &anel is -anaged using the Plugins screen# 5ach &lugin icon on this screen re&resents a &lugin that is installed# Installing plugins in a buzztouch.com control panel 2here are t*o *a's to add a &lugin to a "uzztouch#co- control &anel# Rev 11/20/2013 , of 1 1# B' using the B+nstallC o&tion availa"le for an' &lugin dis&la'ed in the Plugin Market =this -a' or -a' not re@uire a fee?# 2# B' clicking the Create Custo- Plugin o&tion and creating a ne* &lugin using the Plugin Creator tool =Buzztouch Me-"ers onl', Duests cannot do this?# Updating plugins in a buzztouch.com control panel Plugin u&dates are co--on and necessar' and t*o things ha&&en *hen an u&date it released# 1# "uzztouch#co- control &anels using the &lugin *ill "e u&dated to the ne* version# !&& o*ners that &reviousl' installed the &lugin in their control &anel *ill have access to the ne* version# 2# !&& o*ners -a' or -a' not need to re<co-&ile their a&&lication=s? source code that uses the &lugin# 2his *ill de&end on the nature of the u&date# +n -ost cases a re<co-&ile *ill "e necessar'# Removing plugins from a buzztouch.com control panel 2o re-ove a &lugin fro- a "uzztouch#co- control &anel# 1# Aisit the Plugin screen in the control &anel "' clicking the &lugin0s icon# 2# Click BRe-ove fro- Control PanelC 8ote9 !&&s using this &lugin that have alread' "een do*nloaded and co-&iled *ill continue to *ork# Managing Plugins in a Self Hosted control panel 2he Manage Plugins screen =availa"le to ad-ins? is used to see *hat &lugins are installed and to install ne* &lugins or to re-ove e4isting &lugins# Rev 11/20/2013 of 1 Installing plugins in a self hosted control panel 2here are three ste&s to install &lugins# 1# Eo*nload the &lugin &ackage=s? fro- "uzztouch#co- =or fro- an' other location?# Plugin &ackages are #zi& archives and each #zi& &ackage contains -ulti&le files# Eo not unzi& the archives after do*nloading the-# 5ach #zi& archive re&resents one &lugin and no t*o #zi& archives *ill have the sa-e na-e# 2# Click the B!dd or .&date PluginsC link on the Manage Plugins screen# ! screen *ill dis&la' that allo*s 'ou to u&load the #zi& &ackage=s?# %hen 'ou u&load a #zi& &ackage, the control &anel soft*are *ill verif' that the &ackage contains all the necessar' files re@uired to -ake the &lugin *ork# Continue this &rocess until 'ou have u&loaded all the &lugins 'ou need to install# 8ote9 +f 'ou u&load a &ackage that 'ou &reviousl' u&loaded 'ou *ill need to check the B.&date 54isting PluginC check"o4# 3# Click the BRefresh PluginsC link# 2he &rocess s'ncs the control &anel soft*are *ith its su&&orting data"ase# +f 'ou don0t refresh the &lugin list after u&loading ne* &ackages the list of installed &lugins *ill not "e u&dated# Updating plugins in a self hosted control panel 2he ste&s to u&dating a &lugin are identical to the ste&s to install a &lugin =see &revious section?# %hen 'ou u&load &lugins that 'ou have &reviousl' installed, 'ou are over*riting the e4isting -atching &lugin *ith the u&date# +t0s i-&ortant to understand that u&dating &lugins in the online control &anel does not change an'thing in an' a&&s that 'ou have alread' co-&iled# 54a-&le9 Fou create an a&& *ith a Ma& Screen then &u"lish it and distri"ute it# +f the Ma& Screen &lugin is u&dated in the control &anel, the a&&s that 'ou have alread' distri"uted *ill still have the Bold codeC fro- the original Ma& Screen &lugin# 2his -a' or -a' not -atter, de&ending on the nature of the u&date# +n so-e cases, it *ill "e necessar' to re<co-&ile and re<distri"ute an' a&&s that rel' on the u&dated &lugins code# Removing plugins from a self hosted control panel 2o re-ove a &lugin, click B;ist Aie*C on the Manage Plugins screen then use the Bre-oveC o&tion# 2his o&tion does not sho* in BDrid Aie*C# Plugins on the self hosted control panel's web server +f 'ou use an 62P &rogra- to "ro*se the file s'ste- on 'our *e" server, the /files/&lugins director' looks like this# 8ote the individual directories for each installed &lugin# %hen 'ou initiall' install the control &anel soft*are, no &lugins Rev 11/20/2013 / of 1 *ill e4ist# 2his is *hat it looks like after 'ou0ve installed a fe*# %hen 'ou click the BRefresh PluginsC link in the control &anel, the soft*are ins&ects the content of each of the folders =see &revious i-age? then u&dates the su&&orting data"ase accordingl'# Using Plugins in Applications reating a new screen using a plugin Plugins are used to create ne* screens in a&&s# 2hree ste&s to use a &lugin### 1# Click the BScreensC link in an a&&s control &anel# 2# 5nter a nickna-e for the screen 'ou0re a"out to create# 3# Choose a &lugin t'&e fro- the dro&<do*n list# Rev 11/20/2013 1 of 1 +t0s i-&ortant to understand that -ost &lugins re@uire additional configuration after adding the- to an a&&# 54a-&le9 2he Custo- .R; &lugin in the e4a-&le i-age *ill re@uire an internet address to function# 2he nu-"er of &ro&erties and the t'&es of infor-ation re@uired to -ake a &lugin *ork are deter-ined "' the &lugin develo&er# So-e &lugins have lots of &ro&erties, others have none# +t all de&ends on the &ur&ose of the &lugin# !odifying a screen's behavior %hen 'ou add a ne* screen to an a&&lication, its default "ehavior is deter-ined "' the &lugin it is "ased on# 2he &lugin develo&er deter-ines this default "ehavior# +n -ost cases, the &lugin *ill need additional configuration# Configuration o&tions =&ro&erties? of each screen are ad:usted using the online control &anel# 2he sa-&le "elo* sho*s the &ro&erties for a screen na-ed BM' %e"&age#C So-e &lugins *ill have lots of fle4i"le &ro&erties and so-e &lugins *ill have none# Rev 11/20/2013 10 of 1 %hen 'ou BsaveC the &ro&erties of an' screen and co--it the changes to the data"ase, it0s likel' that the a&&lication has changed =at least this screen has?# +t0s also &ossi"le that 'ou have alread' co-&iled and distri"uted the a&&lication 'ou are no* -odif'ing# +n this case, devices that have alread' installed the a&& *ill need a *a' to BlearnC a"out the changes 'ou -ade in the online control &anel# +n -ost cases this is handled auto-aticall' "' the device and end<users *ill "e &ro-&ted to BrefreshC the a&&s data# )o*ever, it0s &ossi"le that the a&& o*ner co-&iled, then distri"uted the a&& *ithout a connection to the online control &anel# 2his could "e intentionall' or unintentionall'# +n either case, if the a&& is not connected to the online control &anel, devices *ill have no *a' to kno* a"out the changes# +n this situation, a&& u&dates are onl' &ossi"le "' -anuall' u&dating the a&&s configuration data, reco-&iling the &ro:ect, then re<distri"uting the a&& to end users# +n so-e cases it0s useful to look at the a&&s configuration data =use the Bconfiguration dataC link in the a&&s control &anel? after 'ou -ake changes# 2his is useful in cases *hen 'ou *ant to see ho* the data changes "ased on 'our selections# Creating Plugins When to create a new plugin Creating ne* &lugins is necessar' *hen the availa"le &lugins *ill not acco-&lish Rev 11/20/2013 11 of 1 *hat 'ou need to do# Denerall' s&eaking, if 'ou need a ne* screen t'&e, 'ou need a ne* &lugin# +n -an' cases a ne* &lugin is not necessar' "ecause an e4isting &lugin could "e configured to "ehave in the desired -anner# "hings to consider when creating new plugins 2here are a fe* things to think a"out *hen 'ou0re considering creating a ne* &lugin# !-ong other things, consider this# 1# Eoes the idea of 'our ne* &lugin :ustif' an entirel' ne* Bscreen t'&eC or is 'our idea related to so-ething other than loading a ne* screen t'&e# 8ot all a&& i-&rove-ent ideas are related to loading a Bne* screen#C 2# Eoes the ne* &lugin need to *ork in -ulti&le a&&s in the control &anel or is it ver' s&ecific to one a&&G Fou -a' "e "etter off creating a si-&le one< ti-e screen -anuall' after 'ou do*nload the source code for a &ro:ect# +f 'ou don0t &lan to re<use the screen t'&e, it -a' not "e a good candidate for an entirel' ne* &lugin# 3# %ill 'ou "e sharing or selling the &lugin so other a&& o*ners or develo&ers can use itG $# Eo 'ou have the skill to create the ne* &lugin or *ill 'ou need to recruit or hire so-e hel&G (# %ill 'ou "e using the online Plugin Creator tool to create the ne* &lugin or *ill 'ou "e creating it fro- scratchG ,# %ill the a&&lication=s? using the ne* &lugin re@uire an internet connection to *orkG # Eoes the ne* &lugin rel' on i-ages, audio, video, or file s'ste- assetsG /# Eoes the ne* &lugin need to *ork on -ulti&le device sizes =s-all, large?G 1# Eoes the ne* &lugin need to *ork on -ulti&le &latfor-s =i7S and !ndroid?G !sking 'ourself these @uestions *ill hel& 'ou develo& a strateg' for taking the a&&ro&riate ste&s to*ards develo&ing, or hiring so-eone to develo& the idea# #elling or sharing plugins in the $uzztouch mar%et Plugin develo&ers -a' choose to create &lugins in an effort to earn -one'# 2his is 7H as long as the rules and guidelines e4&lained in the Buzztouch Plugin Eevelo&ers 2er-s of Service# 2hese ter-s can "e found at the follo*ing .R;9 htt&9//***#"uzztouch#co-/&ages/ter-s<&lugin<develo&er#&h& Rev 11/20/2013 12 of 1 Updating a plugin in the $uzztouch mar%et !&& o*ners e4&ect &lugin u&dates and u&dates are co--on "ecause things tend to -ove ver' @uickl' in -o"ile and develo&ers -ake i-&rove-ents constantl'# Su"-itting an u&date to an e4isting &lugin is as eas' as re<u&loading a ne*l' u&dated version to the control &anel# Updating a plugin hosted on a third party website or blog 2he u&date &rocess is slightl' different for &lugins that are not distri"uted using the Plugin Market =these t'&es of &lugin are used onl' "' a&& o*ners running a self hosted control &anel?# 1? Eistri"ute 'our &lugin "' *a' of a do*nload .R;# 2his is nor-all' a *e" address on 'our *e"site such as htt&9//***#site#co-/-'CoolPlugin#zi& 2? +nclude the do*nload.R; in the config#t4t file# !lso include the u&date.R; in the config#t4t file# %hen an a&& o*ner installs the &lugin in their self hosted control &anel, then o&ens the &lugin details screen to vie* that &lugins infor-ation, the' are &resented *ith a Bcheck for u&datesC o&tion if the config#t4t file for the &lugin includes an u&date.R;# 2he u&date.R; &oints to a si-&le te4t file on a *e" server so-e*here ='our *e"site? and this te4t file includes a si-&le Bversion string#C %hen the a&& o*ner checks for u&dates, this .R; returns the -ost current version string# +f the string is different than the version string in the alread' installed &lugin, an u&date is necessar'# 2he Bdo*nload latest &ackageC link in the control &anel o&ens the do*nload.R; in the config#t4t file# 2his si-&le a&&roach allo*s a&& o*ners to do*nload the latest version of 'our &lugin onl' *hen necessar' and relieves 'ou fro- having to Btell ever'oneC that 'our &lugin has "een u&dated# "he plugin pac%age 5ver' &lugin &ackage "egins the sa-e *a'# 2his is true if the &lugin *as created using the Plugin Creator tool, or if the &lugin *as created -anuall'# 5ither *a', the &ackage is the sa-e# ! &lugin &ackage contains so-e standard files and several o&tional su"<directories# +t0s i-&ortant that the file na-es of the standard &lugin files -atch &recisel' *hat is dis&la'ed in the gra&hic# 6ile na-es are case sensitive and -ust include the file e4tension# ! &lugin -a' o&tionall' contain a nu-"er of additional files, -edia, and resources as deter-ined "' the &lugin develo&er# Rev 11/20/2013 13 of 1 Standard Plugin files are: config#t4t, config3c&#t4t, read-e#t4t, icon#&ng, /source<android<A5RS+78, /source<ios<A5RS+78, /screenshots 5ach standard file or su"< director' in the &lugin &ackage has a s&ecific &ur&ose# config.txt: 2his file contains i-&ortant infor-ation a"out the &lugin used "' the control &anel for several things# 2he config#t4t file serves as a sort of -anifest for the &lugin and it0s essential that its infor-ation "e accurate# readme.txt9 2his file contains infor-ation intended for hu-ans# +ts &ur&ose is to e4&lain in &lain<language ho* the &lugin *orks, *hat its &ur&ose is and *h' so-e"od' *ould *ant to add it to their control &anel# +n essence, the read-e#t4t file serves as the instruction -anual for the &lugin# icon.png9 2his is a (0 4 (0 #&ng i-age that dis&la's in the online control &anel# configcp.txt9 2his is a si-&le te4t file that descri"es ho* the control &anel should render the &lugin -anage-ent screen =used "' a&& o*ners?# !source"android"#$%S&'(: 2his su"<director' contains all the re@uired resources for the !ndroid version of the &lugin to *ork# 2his is usuall' onl' t*o files "ut -a' "e -ore# 2he t*o re@uired files in this folder are the !ndroid !ctivit' Class =a #:ava class file? and the !ndroid ;a'out file =a #4-l la'out file?# !dditional files in this folder -a' "e gra&hics, audio, and other su&&orting #:ava code or #4-l la'out code# +2 +S +MP7R2!82 27 .8E5RS2!8E 2)!2 2)5 !8ER7+E 6+;5S !R5 BR7H58 +827 S5A5R!; S.B<E+R5C27R+5S# 5>P;7R5 !8 5>PS+2+8D P;.D+8 P!CH!D5 27 S55 2)+S S2R.C2.R5# 2he structure is not ar"itrar', it -atches the structure of a t'&ical !ndroid &ro:ect# !source"ios"#$%S&'(: 2his su"<director' contains all the re@uired resources for the i7S version of the &lugin to *ork 2his is usuall' onl' t*o files "ut -a' "e -ore# 2he t*o re@uired files in this folder are the .+Aie*Controller0s #- and #h files# !dditional files in this folder -a' "e gra&hics, audio, and other su&&orting 7":ective<C o":ects necessar' to su&&ort the .+Aie*Controller# !screenshots: 2his o&tional su"<director' contains screenshots dis&la'ed in the control &anel# %hen creating screenshots, e4&ort the- as light*eight #&ng files# +f 'ou screen<ca&ture the si-ulator running 'ou0ll end u& *ith i-ages around 31, 4 $$ *hich is a&&ro&riate# Eo not include an' thu-"nail versions of the screenshots, the control &anel *ill create these auto-aticall'# Rev 11/20/2013 1$ of 1 Understanding the config&cp.t't file 2he *e"&age that sho*s in the control &anel is configured "' *a' of rules contained in the config3c&#t4t file# 2his file has a list of BsectionsC that sho* on the *e"&age# 5ach section re&resents an o&tion or value that the a&& o*ner can ad:ust# So-e sections are standard, others are custo-# Most &lugins contain a -i4ture of standard and custo- sections# IJ&ro&ert'SectionsJ9K IJfile2'&eJ9J"t3sectionJ, Jfile8a-eJ9J"tSection3navBar#ht-lJL, IJfile2'&eJ9J"t3sectionJ, Jfile8a-eJ9J"tSection3login#ht-lJL, IJfile2'&eJ9Jcusto-J, Jfile8a-eJ9J-'Custo-Section#ht-lJL, IJfile2'&eJ9J"t3sectionJ, Jfile8a-eJ9J"tSection3"ackgroundColor#ht-lJL, IJfile2'&eJ9J"t3sectionJ, Jfile8a-eJ9J"tSection3"ackground+-age#ht-lJL, IJfile2'&eJ9J"t3sectionJ, Jfile8a-eJ9J"tSection3search#ht-lJL, IJfile2'&eJ9J"t3sectionJ, Jfile8a-eJ9J"tSection3ta"Bar#ht-lJL, IJfile2'&eJ9J"t3sectionJ, Jfile8a-eJ9J"tSection3screenMson#ht-lJL N L 8ote the standard sections, along *ith one custo- section# 2he -'Custo-Section#ht-l file *ould "e included in the &lugin &ackage# 2his *as created "' the &lugin develo&er# 2his is 872 a co-&lete #ht-l *e" &age, it is onl' a sni&&et of )2M;# 2he control &anel *ill include this sni&&et *hen the a&& o*ners lands on the *e"&age used to control the &lugin# Standard Sections# +nclude these *ithout *riting code# "tSection3ads#ht-l "tSection3"ackground!udio#ht-l "tSection3"ackgroundColor#ht-l "tSection3"ackround+-age#ht-l "tSection3child+te-s#ht-l "tSection3data.R;#ht-l "tSection3docu-entBehavior#ht-l "tSection3login#ht-l "tSection3-enu;ist;a'out#ht-l "tSection3-enu;istRo*s#ht-l "tSection3navBar#ht-l "tSection3nickna-e#ht-l "tSection3screenMson#ht-l "tSection3search#ht-l "tSection3ta"Bar#ht-l Rev 11/20/2013 1( of 1 %hen creating custo- sections it0s nor-all' "est to co&' a standard section and -odif' it to 'our needs# Custo- Sections use Mavascri&t to -odif' control &anel data# 2he landing &age for a &lugin is hosted "' the control &anel and includes sections for each &lugin# 2his landing &age e4&oses so-e Mavascri&t varia"les and functions that &lugin develo&ers use to -odif' data# Mavascri&t Aaria"les availa"le to develo&ers *hen creating custo- sections# user)uid the uni@ue id of the user using the control &anel# App)uid the uni@ue id of the a&&lication in the control &anel# B*item&d the uni@ue id of the screen in the control &anel# screen+ataU%, the .R; to this screens data if child+te-s are used# -S'(String the co-&lete MS78 string of data configured for this screen# +t0s necessar' to kno* these values *hen *orking *ith the :avascri&t functions# fn.ill.orm#alues/-S'(String0 2his -ethod is used to &re<&o&ulate the for- field ele-ents on the landing &age# 2his is nor-all' fired *hen the &age first loads so the a&& o*ner sees their &reviousl' saved settings# fn$xpandCollapse/hide'r$xpand$lement&d0 2his -ethod is used to e4&and or colla&se an )2M; container# Consider a n ht-l div or &aragra&h ele-ent that e4&ands and colla&ses *hen clicked# function sa1e-S'(Properties/sho2%esults&n$lement&d0 2riggering this -ethod *ill save all the users selections to the data"ase# 2he &ro&erties and values that are saved are -a&&ed directl' to the for- field ele-ents on the landing &age# !ll for- ele-ents *ho0s na-es are &refi4ed *ith B:son3C *ill "e saved# 54a-&le9 :son3data.R; or :son3first8a-e# 2he data.R; and the first8a-e entr' *ould "e saved to the "ackend# +n al-ost all cases the su"-it "utton0s in each section call this routine to save all the user selections# fnSetSelected&ndex/the$l3 the#alue0 ! si-&le hel&er routine to -anuall' set the selected inde4 of a dro& do*n ele-ent# !n )2M; OselectP ele-ent# Rev 11/20/2013 1, of 1 fnPic4Color/form.ield&d0 2his o&ens the color &icker screen# %hen a color is selected the value is inserted into the for- field on the underling landing &age# fnPic4Screen/B*item&d$lement(ame3 nic4name.orm$lement(ame0 2his o&ens the screen &icker# 2his is nor-all' used *hen a&& o*ners select screens to use on "utton clicks# fnPic4Menu/B*item&d$lement(ame3 nic4name.orm$lement(ame0 2his o&ens the -enu &icker# 2his is nor-all' used *hen a&& o*ners select conte4t -enus on individual screens# fnPic4.ile(ame/B*item&d$lement(ame3 nic4name.orm$lement(ame0 2his o&ens the file &icker# 2his is nor-all' used *hen a&& o*ners select file na-es for i-ages and other file "ased assets# fnPic4.ileU%,/B*item&d$lement(ame3 nic4name.orm$lement(ame0 2his o&ens the file &icker# 2his is nor-all' used *hen a&& o*ners select file .R;0s for i-ages and other file "ased assets# fn$xecuteBac4endCommand/theCommand0 2his -ethod is used to interact *ith "ackend data# 2he co--and value 'ou &ass can "e one of several o&tions# 7&tions include9 getPlugin7&tions Returns a list of installed &lugins for the user# getChild+te-s Returns a list of MS78 o":ects for child+te-s# addChild+te- .sed to insert ne* child+te-s for a screen# re-oveChild+te- .sed to re-ove a child ite- for a screen# u&dateChild+te-s7rder .sed to -odif' the order+nde4 of child ite-s# +n -ost cases it0s "est to revie* ho* other e4isting &lugins use these -ethods "efore tr'ing to use the- 'ourself =unless 'ou0re an e4&erienced :avascri&t dev?# 2he -ost co-&licated set of routines are related to child+te-s# Screens that dis&la' a list of child ite-s are -ore co-&le4 than other screens and as such the &lugin develo&er needs to understand ho* to add / re-ove ite-s on the screen# Rev 11/20/2013 1 of 1
Download Full (Ebook) Creating Mobile Apps with jQuery Mobile - Second Edition by Matthews, Andy, Gliser, Shane ISBN 9781783555116, 1783555114 PDF All Chapters