17
Plugins Market Creating, Sharing, and Selling Buzztouch Plugins Rev 11/20/2013 1 of 1

BuzzTouch Plugins

Embed Size (px)

Citation preview

Page 1: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 1/17

Plugins Market

Creating, Sharing, and SellingBuzztouch Plugins

Rev 11/20/2013 1 of 1

Page 2: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 2/17

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 &anels *e" server####################################.sing Plugins in !&&lications########################################################################

Creating a ne* screen using a &lugin######################################################### Modif'ing a screens "ehavior##################################################################10

Creating Plugins#######################################################################################11%hen to create a ne* &lugin###################################################################11

hings 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###########################13he &lugin &ackage################################################################################13

.nderstanding the configc&#t4t file######################################################### 1(

Rev 11/20/2013 2 of 1

Page 3: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 3/17

Rev 11/20/2013 3 of 1

Page 4: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 4/17

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& 'oue4tend 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 canthink 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# he choices in the list

are deter-ined "' the

nu-"er of &lugins installedin '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# his -eans that if 'ou *ant to use a &lugin that does notsho* u& in the list of choices in 'our control &anel, 'oull 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# 8759 +f 'ouinstall a ne* &lugin after do*nloading the source code for one of 'our &ro:ects,

that &ro:ect %+;; 87 contain the ne* &lugin# his -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 sourcecode# his 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

Page 5: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 5/17

6ro- a develo&ers &ers&ective###

1# Plugins allo* develo&ers and &rogra--ers to e4tend the functionalit' of theBuzztouch &latfor- in an endless nu-"er of *a's#

2# Plugins allo* develo&ers and &rogra--ers to earn revenue "' selling their

creations# his -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-&latedriven a&&roaches can cover lots of the situations "ut not all of the-# he fact is,

the "est a&&s, the highest @ualit' a&&s, and the -ost successful a&&s al*a'sinclude 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 doesnt *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 ore4tensions 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 -akessense 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 isa 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 thePlugin Creator tool found in 'our account control &anel at "uzztouch#co-# he

Plugin Creator ool 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

Page 6: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 6/17

Creator tool at "uzztouch#co-# +n this case, its a -atter of understanding *hatconstitutes a Buzztouch &lugin &ackage 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#

8759 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# his -eans that a &lugin 'ou create -anuall' =*ithoutusing 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# 6orthis 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' canfinish &erfecting their idea# his 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# hird<&art' *e"sites and otherdevelo&ers -a' also distri"ute &lugins#

Managing Plugins in the Buzztouch control panel

he 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 isinstalled#

 Installing plugins in a buzztouch.com control panel 

here are t*o *a's to add a &lugin to a "uzztouch#co- control &anel#

Rev 11/20/2013 of 1

Page 7: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 7/17

1# B' using the +nstall o&tion availa"le for an' &lugin dis&la'ed in the PluginMarket =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 anu&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# his *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 

o re-ove a &lugin fro- a "uzztouch#co- control &anel#

1# Aisit the Plugin screen in the control &anel "' clicking the &lugins icon#

2# Click Re-ove fro- Control Panel 8ote9 !&&s using this &lugin that havealread' "een do*nloaded and co-&iled *ill continue to *ork#

Managing Plugins in a Self Hosted control panel

he Manage Plugins screen =availa"le to ad-ins? is used to see *hat &lugins areinstalled and to install ne* &lugins or to re-ove e4isting &lugins#

Rev 11/20/2013 of 1

Page 8: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 8/17

 Installing plugins in a self hosted control panel 

here 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-ena-e#

2# Click the !dd or .&date Plugins 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 toinstall# 8ote9 +f 'ou u&load a &ackage that 'ou &reviousl' u&loaded 'ou *ill

need to check the .&date 54isting Plugin check"o4#

3# Click the Refresh Plugins link# he &rocess s'ncs the control &anel

soft*are *ith its su&&orting data"ase# +f 'ou dont refresh the &lugin listafter u&loading ne* &ackages the list of installed &lugins *ill not "eu&dated#

Updating plugins in a self hosted control panel 

he 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#

+ts 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 Foucreate 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 old code fro- the original Ma& Screen &lugin# his-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 theu&dated &lugins code#

Removing plugins from a self hosted control panel 

o re-ove a &lugin, click ;ist Aie* on the Manage Plugins screen then use the

 re-ove o&tion# his o&tion does not sho* in Drid Aie*#

Plugins on the self hosted control panel's web server 

+f 'ou use an 6P &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

Page 9: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 9/17

*ill e4ist# his is *hat it looks like after 'ouve installed a fe*#

%hen 'ou click the Refresh Plugins link in the control &anel, the soft*are

ins&ects the content of each of the folders =see &revious i-age? then u&dates thesu&&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# hree ste&s to use a &lugin###

1# Click the Screens link in an a&&s control &anel#

2# 5nter a nickna-e for the screen 'oure a"out to create#

3# Choose a &lugin t'&e fro- the dro&<do*n list#

Rev 11/20/2013 of 1

Page 10: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 10/17

+ts i-&ortant to understand that -ost &lugins re@uire additional configurationafter adding the- to an a&&# 54a-&le9 he Custo- .R; &lugin in the e4a-&le

i-age *ill re@uire an internet address to function# he 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# he &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 onlinecontrol &anel# he sa-&le "elo* sho*s the &ro&erties for a screen na-ed M'

%e"&age# 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

Page 11: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 11/17

%hen 'ou save the &ro&erties of an' screen and co--it the changes to the

data"ase, its likel' that the a&&lication has changed =at least this screen has?#+ts 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 learn 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 refresh the a&&s data#

)o*ever, its &ossi"le that the a&& o*ner co-&iled, then distri"uted the a&&

*ithout a connection to the online control &anel# his could "e intentionall' orunintentionall'# +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 its useful to look at the a&&s configuration data =use the

 configuration data link in the a&&s control &anel? after 'ou -ake changes# his

is useful in cases *hen 'ou *ant to see ho* the data changes "ased on 'ourselections#

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

Page 12: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 12/17

*hat 'ou need to do# Denerall' s&eaking, if 'ou need a ne* screen t'&e, 'ouneed 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

here are a fe* things to think a"out *hen 'oure considering creating a ne*&lugin# !-ong other things, consider this#

1# Eoes the idea of 'our ne* &lugin :ustif' an entirel' ne* screen t'&e or is

'our idea related to so-ething other than loading a ne* screen t'&e# 8otall a&& i-&rove-ent ideas are related to loading a ne* screen# 

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 dont &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 orhire 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 connectionto *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

# 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'# his is7H as long as the rules and guidelines e4&lained in the Buzztouch Plugin

Eevelo&ers er-s of Service# hese 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

Page 13: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 13/17

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

he u&date &rocess is slightl' different for &lugins that are not distri"uted usingthe 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;# his 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, theno&ens the &lugin details screen to vie* that &lugins infor-ation, the' are

&resented *ith a check for u&dates o&tion if the config#t4t file for the &luginincludes an u&date.R;# he 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 version

string# %hen the a&& o*ner checks for u&dates, this .R; returns the -ostcurrent version string# +f the string is different than the version string in the

alread' installed &lugin, an u&date is necessar'# he do*nload latest &ackagelink in the control &anel o&ens the do*nload.R; in the config#t4t file#

his 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 tell ever'one that'our &lugin has "een u&dated#

"he plugin pac%age

5ver' &lugin &ackage "egins the sa-e *a'# his 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# +ts 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 &lugindevelo&er#

Rev 11/20/2013 13 of 1

Page 14: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 14/17

Standard Plugin files are:

config#t4t, configc&#t4t, read-e#t4t, icon#&ng, /source<android<A5RS+78, /source<ios<A5RS+78, /screenshots

5ach standard file or su"<

director' in the &lugin &ackagehas a s&ecific &ur&ose#

config.txt: his file containsi-&ortant infor-ation a"out the

&lugin used "' the control &anel

for several things# he config#t4tfile serves as a sort of -anifest

for the &lugin and its essentialthat its infor-ation "e accurate#

readme.txt9 his 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 his is a (0 4 (0 #&ng i-age that dis&la's in the online control &anel#

configcp.txt9 his is a si-&le te4t file that descri"es ho* the control &anelshould render the &lugin -anage-ent screen =used "' a&& o*ners?#

!source"android"#$%S&'(: his su"<director' contains all the re@uired

resources for the !ndroid version of the &lugin to *ork# his is usuall' onl' t*ofiles "ut -a' "e -ore# he 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# + +S +MP7R!8 7 .8E5RS!8E )! )5 !8ER7+E

6+;5S !R5 BR7H58 +87 S5A5R!; S.B<E+R5C7R+5S# 5>P;7R5 !8 5>PS++8DP;.D+8 P!CH!D5 7 S55 )+S SR.C.R5# he structure is not ar"itrar', it

-atches the structure of a t'&ical !ndroid &ro:ect#

!source"ios"#$%S&'(: his su"<director' contains all the re@uired resources forthe i7S version of the &lugin to *ork his is usuall' onl' t*o files "ut -a' "e

-ore# he t*o re@uired files in this folder are the .+Aie*Controllers #- and #hfiles# !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: his o&tional su"<director' contains screenshots dis&la'ed in thecontrol &anel# %hen creating screenshots, e4&ort the- as light*eight #&ng files#

+f 'ou screen<ca&ture the si-ulator running 'oull end u& *ith i-ages around 3

4 $$ *hich is a&&ro&riate# Eo not include an' thu-"nail versions of thescreenshots, the control &anel *ill create these auto-aticall'#

Rev 11/20/2013 1$ of 1

Page 15: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 15/17

Understanding the config&cp.tt file

he *e"&age that sho*s in the control &anel is configured "' *a' of rules

contained in the configc&#t4t file# his file has a list of sections that sho* on

the *e"&age# 5ach section re&resents an o&tion or value that the a&& o*ner canad:ust# So-e sections are standard, others are custo-# Most &lugins contain a

-i4ture of standard and custo- sections#

IJ&ro&ert'SectionsJ9K

IJfile'&eJ9J"tsectionJ, Jfile8a-eJ9J"tSectionnavBar#ht-lJL,

IJfile'&eJ9J"tsectionJ, Jfile8a-eJ9J"tSectionlogin#ht-lJL,IJfile'&eJ9Jcusto-J, Jfile8a-eJ9J-'Custo-Section#ht-lJL,

IJfile'&eJ9J"tsectionJ, Jfile8a-eJ9J"tSection"ackgroundColor#ht-lJL,IJfile'&eJ9J"tsectionJ, Jfile8a-eJ9J"tSection"ackground+-age#ht-lJL,

IJfile'&eJ9J"tsectionJ, Jfile8a-eJ9J"tSectionsearch#ht-lJL,

IJfile'&eJ9J"tsectionJ, Jfile8a-eJ9J"tSectionta"Bar#ht-lJL,

IJfile'&eJ9J"tsectionJ, Jfile8a-eJ9J"tSectionscreenson#ht-lJLN

L

8ote the standard sections, along *ith one custo- section# he

-'Custo-Section#ht-l file *ould "e included in the &lugin &ackage# his *ascreated "' the &lugin develo&er# his is 87 a co-&lete #ht-l *e" &age, it is onl'

a sni&&et of )M;# he 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#

"tSectionads#ht-l"tSection"ackground!udio#ht-l"tSection"ackgroundColor#ht-l

"tSection"ackround+-age#ht-l

"tSectionchild+te-s#ht-l"tSectiondata.R;#ht-l

"tSectiondocu-entBehavior#ht-l"tSectionlogin#ht-l

"tSection-enu;ist;a'out#ht-l

"tSection-enu;istRo*s#ht-l

"tSectionnavBar#ht-l"tSectionnickna-e#ht-l"tSectionscreenson#ht-l

"tSectionsearch#ht-l

"tSectionta"Bar#ht-l

Rev 11/20/2013 1( of 1

Page 16: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 16/17

%hen creating custo- sections its nor-all' "est to co&' a standard section and-odif' it to 'our needs#

Custo- Sections use avascri&t to -odif' control &anel data# he landing &age for

a &lugin is hosted "' the control &anel and includes sections for each &lugin# hislanding &age e4&oses so-e avascri&t varia"les and functions that &lugin

develo&ers use to -odif' data#

avascri&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 S78 string of data configured for this screen#

+ts necessar' to kno* these values *hen *orking *ith the :avascri&t functions#

fnillorm#alues/-S'(String0

his -ethod is used to &re<&o&ulate the for- field ele-ents on the landing&age# his 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

his -ethod is used to e4&and or colla&se an )M; 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

riggering this -ethod *ill save all the users selections to the data"ase#

he &ro&erties and values that are saved are -a&&ed directl' to the for- fieldele-ents on the landing &age# !ll for- ele-ents *hos na-es are &refi4ed *ith

 :son *ill "e saved# 54a-&le9 :sondata.R; or :sonfirst8a-e# he data.R;

and the first8a-e entr' *ould "e saved to the "ackend# +n al-ost all cases thesu"-it "uttons 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*nele-ent# !n )M; Oselect ele-ent#

Rev 11/20/2013 1 of 1

Page 17: BuzzTouch Plugins

7/21/2019 BuzzTouch Plugins

http://slidepdf.com/reader/full/buzztouch-plugins 17/17

fnPic4Color/formield&d0

his o&ens the color &icker screen# %hen a color is selected the value isinserted into the for- field on the underling landing &age#

fnPic4Screen/B*item&d$lement(ame3 nic4nameorm$lement(ame0

his o&ens the screen &icker# his is nor-all' used *hen a&& o*ners selectscreens to use on "utton clicks#

fnPic4Menu/B*item&d$lement(ame3 nic4nameorm$lement(ame0

his o&ens the -enu &icker# his is nor-all' used *hen a&& o*ners selectconte4t -enus on individual screens#

fnPic4ile(ame/B*item&d$lement(ame3 nic4nameorm$lement(ame0

his o&ens the file &icker# his is nor-all' used *hen a&& o*ners select filena-es for i-ages and other file "ased assets#

fnPic4ileU%,/B*item&d$lement(ame3 nic4nameorm$lement(ame0

his o&ens the file &icker# his is nor-all' used *hen a&& o*ners select file.R;s for i-ages and other file "ased assets#

fn$xecuteBac4endCommand/theCommand0

his -ethod is used to interact *ith "ackend data# he 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 S78 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 its "est to revie* ho* other e4isting &lugins use these -ethods"efore tr'ing to use the- 'ourself =unless 'oure an e4&erienced :avascri&t dev?#

he -ost co-&licated set of routines are related to child+te-s# Screens thatdis&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