Sie sind auf Seite 1von 17

Plugins Market

Creating, Sharing, and Selling


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

Das könnte Ihnen auch gefallen