campus mobile implementation guide

26
CAMPUS MOBILE I MPLEMENTATION GUIDE

Upload: masood99s

Post on 25-Nov-2015

55 views

Category:

Documents


3 download

DESCRIPTION

CAMPUS

TRANSCRIPT

  • CAMPUSMOBILEIMPLEMENTATIONGUIDE

  • TableofContents

    1. Background......................................................................................................................................................................................4

    1.1 Introduction...........................................................................................................................................................................4

    1.2 OverviewofCampusMobile............................................................................................................................................4

    1.3 OverviewofADFMobile....................................................................................................................................................5

    2. CampusSolutions..........................................................................................................................................................................9

    2.1 CampusSolutionsConfiguration...................................................................................................................................9

    2.2 IntegrationBrokerConfiguration.................................................................................................................................9

    2.3 SecurityConfiguration.......................................................................................................................................................9

    2.3.1 AuthenticationService.............................................................................................................................................9

    2.3.2 AuthorizationService.............................................................................................................................................10

    2.4 AbouttheEntityRegistry...............................................................................................................................................10

    2.4.1 EntityProfiles............................................................................................................................................................10

    2.5 ConfiguringNotifications................................................................................................................................................10

    2.5.1 Framework..................................................................................................................................................................10

    2.5.2 Consumers...................................................................................................................................................................11

    2.5.3 Templates....................................................................................................................................................................11

    2.5.4 Preferences.................................................................................................................................................................13

    2.6 MessageCatalogConsiderations..................................................................................................................................13

    3. CampusMobile.............................................................................................................................................................................14

    3.1 Overview................................................................................................................................................................................14

    3.2 UsingJDeveloper................................................................................................................................................................14

    3.2.1 InstallingandSettingupJDeveloper................................................................................................................14

    3.2.2 CreatingaNewMobileApplicationFromtheDeliveredMobileApplicationArchiveFile........15

    3.3 ConfiguringYourMobileApplication........................................................................................................................15

    3.3.1 WebServices..............................................................................................................................................................15

    3.3.2 Security.........................................................................................................................................................................16

    3.4 BrandingYourMobileApplication.............................................................................................................................17

    3.4.1 ChangingtheApplicationID................................................................................................................................17

  • 3.4.2 ChangingtheApplicationName.........................................................................................................................18

    3.4.3 ChangingtheApplicationIcon............................................................................................................................18

    3.4.4 InsertingYourLogo.................................................................................................................................................18

    3.4.5 InsertingYourColorScheme...............................................................................................................................19

    3.4.6 InsertingYourAppInfo.........................................................................................................................................20

    3.4.7 MaintainingTheAppVersion..............................................................................................................................20

    3.5 CustomizingYourMobileApplication.......................................................................................................................20

    3.5.1 CustomizingtheLoginPage.................................................................................................................................20

    3.5.2 CustomizingtheSpringboardandNavigationBar.....................................................................................20

    3.5.3 CustomizingtheAppFeatures............................................................................................................................21

    3.5.4 MapsIntegration.......................................................................................................................................................21

    3.5.5 Icons,Labels,ResourceBundlesandLocalization......................................................................................22

    3.5.6 CustomizingtheGenericErrorMessage.........................................................................................................22

    3.5.7 CustomizingPagesWithintheApp...................................................................................................................23

    3.6 ExtendingYourMobileApplication............................................................................................................................23

    3.6.1 ProvidingAdditionalMapFunctionality.........................................................................................................23

    3.6.2 ChangingtheDisplayedData...............................................................................................................................23

    3.6.3 ProvidingAdditionalfeatures.............................................................................................................................24

    3.7 ManagingYourMobileApplication............................................................................................................................24

    3.7.1 DevelopingYourMobileApplication................................................................................................................24

    3.7.2 DeployingYourMobileApplication..................................................................................................................25

    3.7.3 TestingandDebuggingYourMobileApplication........................................................................................25

    3.7.4 DistributingYourMobileApplication..............................................................................................................26

    3.7.5 SupportingYourMobileApplication................................................................................................................26

    Figure11ADFMobileRuntimeArchitecture.............................................................................................................................6Figure21ApplicationNavigator...................................................................................................................................................15

  • OracleCorporationConfidentialForOracleinternaluseonly Page4

    1. BACKGROUND1.1 INTRODUCTIONCampusMobileisanewstudentselfserviceinterfacedesignedforsmartphonedevices.ItisdeliveredaspartofCampusSolutionsSelfServiceandisdeployedasaniOSorAndroidapplication.Theapplicationenablesstudentstohaveconstantaccesstohighvaluetransactions.

    Thisdocumentprovidesimplementerswiththeinformationrequiredto:

    ConfigureyourexistingCampusSolutionsenvironment(s)tofacilitatemobileaccess.Refertochapter2.

    Configure,brand,customizeandextendthedeliveredCampusMobileapplicationarchiveinordertocreateanddistributeamobileapplicationthatistailoredtotheneedsofyourstudentsandorganization.Refertochapter3.

    Readersshouldprogressthroughthisdocumentinthechapterorder,sincelaterchaptersrequireknowledgeofinformationdescribedinearlierchapters.

    Multiplepiecesofdocumentationhavebeendevelopedorupdatedtoassistintheimplementationeffort.SeeCampusMobileDocumentation,onMyOracleSupportSeeWorkingWiththeNotificationsFramework,partofCS_Bundle_29_Campus_Community_9_0.pdfonMyOracleSupportSeePeopleSoftCampusCommunityFundamentals9.0PeopleBook,SettingUpEntityRegistry

    1.2 OVERVIEWOFCAMPUSMOBILECampusMobileisbuiltusingOraclesADFMobileframework,whichenablesdeploymenttobothiOSandAndroidasanativeapplication.

    Theapplicationfeatureshighvaluetransactionstowhichstudentsdesiretohaveconstant,alwaysavailableaccess.FeaturesofCampusMobileincludetheabilityto:viewclassschedule,viewgrades,viewscheduleofclasses,enrollinclasses,andmanagetheenrollmentshoppingcart.

    TheCampusMobilesmartphoneapplicationisasecure,simplified,andpersonalizedplatformforstudentstoconductkeyStudentRecordsprocesses.Youcanconfigure,brand,customizeandextendtheCampusmobileapplicationtosuityourrequirements.

    CampusMobileusesthedeliveredCampusSolutionsEnrollmentWebServices(EWS)toproviderealtimereadandwriteaccesstodatawithinCampusSolutions.ForCampusMobile,aRESTfulversionoftheEWSisdeployed,leveragingPeopleTools8.52functionality.RESTfulwebservicesrequireloweroverheadthanSOAPbasedservices,thusloweringthebandwidthrequirementfordeliveringdatatoamobiledevice.Tooptimizethewebserviceperformance,CampusMobiletakes

  • OracleCorporationConfidentialForOracleinternaluseonly Page5

    advantageoftheEntityProfilingfeaturenewtoCampusSolutions.EntityProfilegivesustheabilitytocreateanduseamobileprofilethatlimitstheamountofdatadeliveredintheEWSpayloadtothesubsetofdatathatCampusMobileneeds;furtherloweringthebandwidthrequirementfordeliveringdatatoamobiledevice.

    InparalleltoCampusMobile,thenewCampusSolutionsNotificationFrameworkprovidesproactivecommunicationtostudentsandenhancesthestudentmobileexperience.CampusMobileenablesstudentstomanagehowtheyreceivenotifications.

    Note:CertainnotificationsaredescribedinCampusMobiledocumentation,butCampusMobileisnotaprerequisitetotheimplementationofthesenotifications.ThesenotificationsenhancethemobileexperienceforstudentsandprovideproactiveinformationfromCampusSolutionsandthustheyhavebeendevelopedparalleltoCampusMobile.

    1.3 OVERVIEWOFADFMOBILETheOracleApplicationDevelopmentFramework(OracleADF)isanendtoendJavaenterpriseframeworkthatsimplifiesapplicationdevelopmentbyprovidingoutoftheboxinfrastructureservicesandavisualanddeclarativedevelopmentexperience.

    ADFMobileextendsOracleADF,enablingyoutocreateanapplicationthatcanhousedifferenttypesofcontentandrunsonmobiledevicespoweredbytheiOSandAndroidplatforms.Withintheapplication,thecontainedfunctionalareasarereferredtoas applicationfeatures andrepresentoneormorespecificpiecesoftheapplication'sfunctionality.

    AnextensionofApacheCordova(see http://cordova.apache.org),theADFMobilearchitectureenablesHTML5,aswellasADFdefinedpagesandtaskflowstoberenderedinthesamedownloadableapplication.

    ADFMobileconsistsofthefollowingparts:

    Model providedbyOracleADF. View expressedasHTMLorXML. Controller definedwithXML. Java runtime poweredbyanembeddedJavaVMbundledwitheachapplication.

    Figure11showstheoverallruntimearchitectureofADFMobile.

  • OracleCorporationConfidentialForOracleinternaluseonly Page6

    Figure11ADFMobileRuntimeArchitecture

    ThefollowingelementscomprisetheADFMobileruntimearchitecture:

    Device-Native Container representsanapplicationcontainer,ortemplate,compiledasadevicenativeapplicationbinary.ThiscontainerprovidestheruntimeenvironmentforanADFMobileapplicationtorunasanondevice,nativeapplicationinthemobiledevice'soperatingsystem(iOSorAndroid).BesideshostingtheclientsidecomponentsforanADFMobileapplication,itprovidesnavigationutilities,suchasaspringboardandnavigationbar,whichenableaccesstoparticularapplicationfeatures.

    Web View isapartoftheDeviceNativeContainerthatusesamobiledevice'swebenginetodisplayandprocesswebbasedcontent.InanADFMobileapplication,thewebviewistheprimarymechanismtorenderanddelivertheapplicationuserinterface.

    Server HTML representsawebbaseduserinterfacethatisgeneratedontheserveranddeliveredasawebpagetotheADFMobileapplication.TheapplicationHTMLcode,businesslogic,andpageflowlogicaregeneratedonaremoteserver.ServerHTMLcanaccessdevicenativeservices,suchasthecamera,throughtheJavaScriptAPIsupportedbyCordova,aslongasitisrunninginsideanADFMobileapplication.

  • OracleCorporationConfidentialForOracleinternaluseonly Page7

    Note: Campus Mobile does not make use of Server HTML. All application code is contained within the mobile application.

    Local HTML representswebpagesdevelopedusingJDeveloperorthirdpartytoolsthataredirectlyembeddedwithinanADFMobileapplication.ThesepagesaredeliveredasapartoftheADFMobileapplication.LocalHTMLfilescanaccessdevicenativefeaturesthroughtheJavaScriptAPIssupportedbyCordova.

    ADF Mobile AMX Views arebasedontheADFMobileAMXtechnologythatdeliversaJSFlikedevelopmentexperiencetoworkingwithanHTML5baseduserinterface.ADFMobileAMXviewsaredefinedusingUIandcodeeditorsprovidedbyJDeveloper.TheseviewsareembeddedintoanADFMobileapplicationanddeployedtoamobiledevice.Atruntime,theJavaScriptengineinthewebviewrendersADFMobileAMXviewdefinitionsintoHTML5components.OftheimplementationapproachesprovidedbyADFMobile,applicationfeaturesdevelopedusingtheADFMobileAMXcomponentsprovidethemostauthenticdevicenativeuserexperiencethroughtheirextensivesupportofanimationandgestures.

    ADF Controller isrepresentedbyamobileversionoftheOracleADFcontrollerthatsupportsasubsetofOracleADFtaskflowcomponentsavailabletoaserverbasedOracleADFapplication.BothboundedandunboundedOracleADFtaskflowsaresupported,aswellasasubsetofeventsandscopesthataresupportedbytheserverbasedADF.

    Java providesaJavaruntimeenvironmentforanADFMobileapplication.ThisJavaVirtualMachine(JVM)isimplementedindevicenativecode,andisembedded(orcompiled)intoeachinstanceoftheADFMobileapplicationaspartofthenativeapplicationbinary.TheJVMisbasedontheJavaMEConnectedDeviceConfiguration(CDC)specification.

    Managed Beans areJavaclassesthatcanbecreatedtoextendthecapabilitiesofADFMobile,suchasprovidingadditionalbusinesslogicforprocessingdatareturnedfromtheserver.ManagedbeansareexecutedbytheembeddedJavasupport,andthereforemustconformtotheJavaMECDCspecifications.

    ADF Model inanADFMobileapplicationsupportsasubsetofbusinesslogiccomponentsavailabletoaserverbasedOracleADFapplication.ADFmodelcontainsthebindinglayerthatconnectsthebusinesslogiccomponentswiththeuserinterface.Inaddition,thebindinglayerprovidestheexecutionlogictoinvokeRESTorSOAPbasedwebservices.

    Application Configuration referstoservicesthatallowkeyapplicationconfigurationstobedownloadedandrefreshed.Forexample,URLendpointsforawebserviceorremoteURLconnection.ApplicationconfigurationservicesdownloadtheconfigurationinformationfromaWebDavbasedserversideservice.

    Note: Campus Mobile does not make use of a remote Application Configuration. Configuration files are contained within the mobile application.

  • OracleCorporationConfidentialForOracleinternaluseonly Page8

    Credential Management and Access Control referstoclientsideservicesthatprovidesecurityrelatedservicesforanADFMobileapplication.Forexample,alocalcredentialstorethatsecurelycachesusercredentialstosupportanofflineauthenticationoraccesscontrolservicesthatdisplayorhideapplicationfeaturesbasedonuseraccessprivileges.

    Apache Cordova (formerlyknownasPhoneGap)isanopensourcecodelibrarythatprovidesacommonJavaScriptAPItoaccessvariousmobiledeviceservices,suchasthecamera.CordovaprovidesamajorityofthedeviceservicesintegrationforanADFMobileapplication.CordovaJavaScriptAPIsarefurtherabstractedasdevicedatacontrolsintheJDeveloperdesigntimeforADFMobileAMXbasedviews,allowingforintegrationofdeviceservicesbydragginganddroppingdatacontrolstotheirADFMobileAMXviews.

    Local Data referstodatastoresthatresideonthedevice.InADFMobile,theseareimplementedasencryptedSQLitedatabases.CreateRetrieveUpdateDelete(CRUD)operationsaresupportedtothislocaldatastorethroughtheJavalayer,usingJDBCbasedAPIs.

    Note: Campus Mobile does not make use of local data storage.

    Ontheserverside,the Configuration Server referstoaWebDavbasedserverthathostsconfigurationfilesusedbytheapplicationconfigurationservices.Theconfigurationserverisdeliveredasareferenceimplementation.AnycommonWebDavserviceshostedonacommonJ2EEservercanbeusedforthispurpose.

    Note: Campus Mobile does not make use of a Configuration Server. Configuration files are contained within the mobile application.

    Ontheserverside,ADF Mobile Browser andADF Faces Rich Client refertoframeworksfordevelopingserversideapplicationsthatcanbeusedforimplementationoftheremoteURLADFMobileapplicationfeature.

    Note: Campus Mobile does not make use of ADF Mobile Browser or ADF Faces Rich Client. All application code is contained within the mobile application.

  • OracleCorporationConfidentialForOracleinternaluseonly Page9

    2. CAMPUSSOLUTIONS2.1 CAMPUSSOLUTIONSCONFIGURATIONCampusMobilerequiresaminimumPeopleToolslevelofPeopleTools8.52.ForinformationonCampusSolutionsmaintenancelevelrequirementsspecifictoaCampusMobilereleaseversion,pleaserefertoMyOracleSupportdocument1557671.1.

    NotethatconfigurationchangesmadewithinCampusSolutionsunderSetUpSACR>CommonDefinitions>SelfServicearetypicallyapplicabletoSelfServicepagesonlyandmaynotaffectthefunctioningoftheEnrollmentWebServicesorCampusMobileitself.

    2.2 INTEGRATIONBROKERCONFIGURATIONTheconfigurationofIntegrationBrokerrequiredtoenableCampusMobilearedescribedintheCampusSelfServicePeopleBookchapterSettingUpCampusMobile.Inparticular,refertosectionsSettingUpIntegrationBrokerforCampusMobile,ActivatingCampusMobileServiceOperationsandHandlers,andGenerateRoutingsfortheFollowingServiceOperations.

    2.3 SECURITYCONFIGURATIONUserslogintotheCampusMobileappusingthesamecredentialsthattheyuseforCampusSelfServiceaccessthroughPIA.ThesecredentialsarepassedtoPeopleToolsthroughtheAuthenticationandAuthorizationservices,whicharedescribedbelow.

    Asdelivered,allfeatureswithinCampusMobileareprotectedwithPermissionListHCCPCSSA3000.ThisisanewPermissionListcreatedtosupportauthorizationinCampusMobile.Bydefault,thisPermissionListismappedtothenewlydeliveredCSMobileStudentRole,andausermusthavethisroletobeabletousetheapplication.

    IfyouwanttouseadifferentroletosecureaccesstoCampusMobilefeatures,youshouldmapPermissionListHCCPCSSA3000tothatrole.

    IfyouwanttouseadifferentPermissionListtosecureaccesstoCampusMobilefeatures,youmustcustomizeCampusMobileasdescribedinsection3.3.2.3andmapthatPermissionListtowhicheverroleyouwanttouseforthispurpose.

    Inaddition,youmustassignthePermissionListthatisusedtosecureaccesstoCampusMobilefeaturestoeachofthewebserviceoperationscalledfromCampusMobile.ThisisdescribedintheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,SettingUpSecurityforCampusMobile.

    2.3.1 AUTHENTICATIONSERVICECampusMobilecanauthenticateagainstanybasicauthenticationserver.

  • OracleCorporationConfidentialForOracleinternaluseonly Page10

    CampusSolutionsprovidesaRESTfulwebserviceoperation(SCC_USERREG_AUTHENTICATE)thatisusedexclusivelytosupportauthenticationinCampusMobile.Nothingisreturnedinthepayload.

    AnyURLthatisprotectedwithbasicauthenticationcanbeusedastheloginURL.YoumayimplementyourownURLanduseitinsteadofthedefaultone,inwhichcaseyoumustmodifytheconfigurationinyourmobileapplication(refertosection3.3.2.2).

    2.3.2 AUTHORIZATIONSERVICE

    SinceCampusMobilemakesuseoftheusersPermissionListstocontrolaccesstoitsfeatures,anAccessControlServicemustbedeployedtoreturntheusersPermissionListstoCampusMobile.

    AnAccessControlService(ACS)isaRESTfulwebservicewithJSONthatenablesuserstodownloadtheiruserrolesandprivilegesthroughasingleHTTPPOSTmessage.

    CampusSolutionsprovidesaRESTfulwebserviceoperation(SCC_USERREG_AUTHORIZE_POST)thatisusedexclusivelytosupportauthorizationinCampusMobile.ItacceptsinputandreturnstheresultinJSONmessageformat.

    YoumayimplementyourownACSanduseitinsteadofthedefaultone,inwhichcaseyoumustmodifytheconfigurationinyourmobileapplication(refertosection3.3.2.3).

    2.4 ABOUTTHEENTITYREGISTRY

    2.4.1 ENTITYPROFILESCampusMobileusesEntityProfilingoftheEnrollmentWebServicesinordertominimizethepayloadprovidedbytheEWS.AMobileprofileisdeliveredthatisdesignedtoprovideonlythenecessaryfieldstoCampusMobile.

    YoucanviewthedeliveredEntityProfilesforCampusMobile,MobileandMobileCartintheEntityProfilecomponent(SetUpSACR>SystemAdministration>Entity>EntityProfile).

    FormoreinformationontheEntityRegistryandEntityProfilesseetheCampusCommunityPeopleBookchapterSettingUpEntityRegistry.

    2.5 CONFIGURINGNOTIFICATIONS

    2.5.1 FRAMEWORKTheCampusSolutionsNotificationsFrameworkprovidesaconsistent,extensiblecommunicationmechanismthatCampusSolutionsproductareascanusetoenablenotificationstointerestedparties.NotificationsaredeliveredthroughanotificationsChannelemail,SMS,alertsorworklistsbasedonatransactionperformedbyaconsumingapplication(calledaConsumer).

  • OracleCorporationConfidentialForOracleinternaluseonly Page11

    FormoreinformationabouttheNotificationsFramework,refertotheCampusCommunityPeopleBookchapterWorkingWiththeNotificationsFramework.

    2.5.2 CONSUMERSCampusSolutionsisdeliveredwithanumberofpreconfiguredConsumers,someofwhichhavebeendevelopedconcurrentlywithCampusMobile.TheseareidentifiedwithCampusMobileinthename:

    CampusMobile CampusMobileGradeEMAIL CampusMobileGradeSMS CampusMobileWLConfirmationEMAIL CampusMobileWLConfirmationSMS

    AllConsumersaredeliveredasinactive.ToenabletheseConsumers,refertotheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,SettingUpForNotifications.

    YouareabletomodifythedeliveredConsumersorwriteyourown.

    ItisimportanttounderstandthattheseConsumersdonotrequireimplementationofCampusMobile(ausermayreceiveemailbasednotificationsthroughanyemailclient,andmayreceiveSMSbasednotificationsthroughanymobilephone)andconversely,youarenotrequiredtoenabletheseConsumersinordertoimplementCampusMobile.

    2.5.2.1 FinalGradePostingConsumersTheFinalGradePostingConsumersnotifyastudentwhenthestudentsfinalgradehasbeenpostedforaclass.

    Eachstudentwillreceiveanotificationforeveryinstanceofhavingfinalgradespostedforaclass.

    2.5.2.2 MovedfromWaitlisttoEnrolledConsumersTheMovedfromWaitlisttoEnrolledConsumersnotifyastudentwhenthestudenthasbeenautomaticallyenrolledintoaclassfromthewaitlist.

    TheMovedfromWaitlisttoEnrolledConsumersrelyonbeingtriggeredbyawaitlistjobthatisdeliveredasinactive.Forinstructionsonhowtoactivatethiswaitlistjob,pleaserefertotheStudentRecordsPeopleBookchapterUsingEnrollmentRelatedProcessesformoreinformation.

    2.5.2.3 CampusMobileConsumerTheCampusMobileConsumernotifiesastudentwhen:

    Anewchecklisthasbeenassignedtothestudent,orifanychecklistitemsonanexistingchecklisthavebeenupdated.(Note:Thisdoesnotincludetheadditionofanewchecklistitemtoanexistingchecklist.)

    Anegativeserviceindicatorhasbeenassignedto,orremovedfrom,astudentsrecordoranexistingnegativeserviceindicatorhasbeenupdated.

  • OracleCorporationConfidentialForOracleinternaluseonly Page12

    Thestudentsenrollmentappointmentisabouttoopen.TheCampusMobileConsumermakesuseoftheNotificationFrameworksbatchprocessingcapability.Forinformationonhowtoconfigurethebatchprocessingjobs,refertotheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,DefiningandSchedulingCampusMobileBatchNotifications.

    Itisexpectedthatbatchprocessingwilloccuronceperday,withthefollowingimplications:

    1. Checklistnotificationsaresentforcheckliststhatareaddedorupdatedthedaypriortothebatchprocessexecution.

    2. Serviceindicatornotificationsaresentforchangesoccurringinthe24hourspriortothebatchprocessexecution.

    3. Enrollmentappointmentnotificationsaresentforappointmentsthatwillopenthedayafterthebatchprocessexecution.

    4. Executingthebatchprocessmorethanonceperdaymayleadtoduplicateenrollmentappointmentnotifications.

    5. Executingthebatchprocesslessthanonceperdaymayleadtomissedenrollmentappointmentnotifications.

    6. Notificationsaresenttostudentsatthetimeofbatchprocessexecution.

    2.5.3 TEMPLATESEverynotificationsentbyaConsumerisbasedonaTemplate,whichisusedtocreatethenotification.Thetemplatedefinesattributesofthenotification,suchasthemessagethatisdeliveredtotheuserusingemailorSMS.

    ThefollowingtemplatesaredeliveredforusebytheConsumersmentionedabove:

    CHECKLIST_SMS CHECKLIST_EMAIL ENRL_FRM_WL_EMAIL ENRL_FRM_WL_SMS ENROLLMENT_APPT_SMS_OPEN ENROLLMENT_APPT_EMAIL_OPEN GRD_SMS_ADD GRD_SMS_CHNG GRD_SMS_REM GRD_EMAIL_ADD GRD_EMAIL_CHNG GRD_EMAIL_REM SI_ADD_OR_CHG_SMS SI_ADD_OR_CHG_EMAIL SI_DELETE_SMS SI_DELETE_EMAIL

  • OracleCorporationConfidentialForOracleinternaluseonly Page13

    AllTemplatesaredeliveredasinactive.ToenabletheseTemplates,refertotheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,SettingUpForNotifications.

    YouareabletomodifythedeliveredTemplatesorcreateyourown.

    2.5.4 PREFERENCESEveryusermustspecifyanemailaddressforreceivingemailbasednotifications,andacellphonenumberforreceivingSMSbasednotifications.ThiscanbedonethroughCampusSolutionsSelfService>PersonalInformation>NotificationsPreferences.

    ThispagealsoallowsuserstoenableordisableeitheremailorSMSbasednotifications.

    CampusSolutionsSelfServicealsoprovidesapageforadministratorstoconfigurethenotificationpreferencesforallusersthroughSelfService>CampusCommunity>PersonalInformation>Biographical>PersonalAttributes>NotificationsPreferences.

    UseofthesepagesisdescribedintheCampusCommunityPeopleBookchapterWorkingWiththeNotificationsFramework.

    Sinceuserswillnotreceivenotificationsuntilsuchinformationhasbeenentered,youmayconsiderimplementingabatchupdateprocess,orcommunicatingtoallusersthattheyshouldentertheirnotificationpreferences.

    2.6 MESSAGECATALOGCONSIDERATIONSCampusMobileusestheEWSforenrollmenttransactionsandtheEWSusesMessageCatalog14641(refertotheEWSguide)formessagesthataredisplayedtousers.MostofthedeliveredmessagesareapplicabletoanyuserinterfaceandthusaresuitableforCampusMobile.HowevertherearecertainmessagesthatshouldbeevaluatedbyeachinstitutiontodeterminetheirapplicabilitytoCampusMobile,sincetheyrefertoCampusSelfServiceUIcomponents.SincethesemessagesarecurrentlyutilizedbybothCampusSelfServiceandCampusMobile,institutionsmaywanttoconsidermodifyingtheexistingmessagestowardamoregenericwordingthatdoesnotincludeinstructionsspecifictoonedeliveryplatform.Refertothetablebelow.

    146417 Class%1isfull.Ifawaitlistisavailable,clickAddAnotherClasstoreturntostep1.Clicktheclasslink,selectthewaitlistoptionandresubmityourrequest.

    1464138 %1.Youmustobtainpermissiontotakethisclass.Ifyouhaveapermissionnumber,clickAddAnotherClass,clicktheclasslink,enterthenumberandresubmit.

    14641223 Class%1anditsalternate(%2)arefull.Ifawaitlistisavailable,clickAddAnotherClasstoreturntostep1.Clicktheclasslink,selectthewaitlistoptionandresubmityourrequest.

  • OracleCorporationConfidentialForOracleinternaluseonly Page14

    3. CAMPUSMOBILE3.1 OVERVIEWThefeaturesofCampusMobilearedescribedintheCampusSelfServicePeopleBookchapterUsingCampusMobile.

    CampusMobileisdeliveredasanunsignedMobileApplicationArchive(.maa)file,whichgivesyoutheabilityto:

    Configureyourmobileapplication.Refersection3.3. Brandyourmobileapplication.Refersection3.4. Customizeyourmobileapplication.Refersection3.5. Extendyourmobileapplication.Refersection3.6. Manageyourmobileapplication.Refersection3.7.

    Todothis,youwillneedtouseOraclesJDeveloperIDE,whichisdescribedinsection3.2.

    3.2 USINGJDEVELOPEROracleJDeveloperisanintegrateddevelopmentenvironment(IDE)thatsimplifiesthedevelopmentofJavabasedenterpriseormobileapplications.JDeveloperisthedevelopmentenvironmentfortheOracleApplicationDevelopmentFramework(OracleADF).JDeveloper11gR2(11.1.2.4.0)providessupportfordevelopingADFMobilebasedapplications.

    TheADFOracleFusionMiddlewareMobileDeveloper'sGuideforOracleApplicationDevelopmentFramework11gRelease2(11.1.2.4.0),hereinreferredtoastheADFMobileDevelopersGuide,providesacomprehensiveguidetodevelopingOracleADFbasedmobileapplicationsusingOracleJDeveloper.ThisdocumentcanbelocatedontheOracleTechnologyNetwork>DeveloperTools>ADFMobile.

    Thesubsequentsectionsofthisdocumentprovideinformationabouthowtoconfigure,brandandcustomizethedeliveredCampusMobileapplicationarchiveusingJDeveloper,makingreferencetoapplicablesectionswithintheADFMobileDevelopersGuide.

    3.2.1 INSTALLINGANDSETTINGUPJDEVELOPERNavigatetohttp://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html,thendownloadandinstallOracleJDeveloper11gR2(11.1.2.4.0).ForadditionalJDeveloperandADFMobilereleaselevelrequirements,aswellasotherrequirementsspecifictoaCampusMobilereleaseversion,pleaserefertoMyOracleSupportdocument1557671.1.

    Followchapter3oftheADFMobileDeveloper'sGuidetosetupJDeveloperandtherequireddevelopmenttoolsforiOSorAndroid(orboth).

  • OracleCorporationConfidentialForOracleinternaluseonly Page15

    3.2.2 CREATINGANEWMOBILEAPPLICATIONFROMTHEDELIVEREDMOBILEAPPLICATIONARCHIVEFILE

    InJDeveloper,selectNewApplication>MobileApplicationfromArchiveFile,thenbrowsetotheCampusMobile.maafilecontainedwithinyourCampusSolutionsreleasefolder.YouwillnowseeanapplicationcalledCampusMobileinyourApplicationNavigator,similartothescreenshotbelow.

    Figure31ApplicationNavigator

    Chapter4oftheADFMobileDevelopersGuideprovidesanoverviewofthestructureofthemobileapplicationthatyouhavejustcreated,includingadescriptionoftheimportantfilesandhowtonavigatetheapplicationstructurewithinJDeveloper.Bearinmindthatthedescriptioninchapter4oftheADFMobileDevelopersGuideisrelatedtoanapplicationthatiscreatedfromscratch.Forfurtherinformationaboutwhathappenswhenyoucreateanapplicationfromamobileapplicationarchivefile,refertosection17.7.2oftheADFMobileDevelopersGuide.

    Asdelivered,theCampusMobileapplicationhasOraclebrandingandsomedummyconfigurations.Thesubsequentchaptersofthisguidedescribehowyoucanconfigure,brand,customizeandevenextendyourmobileapplication.

    Youmaywanttodeployandtestyourmobileapplicationatthispointbeforeimplementinganybrandingorcustomizations.Beforedoingso,youmustataminimumconfigurethewebserviceendpoints(refersection3.3).Havingdonethis,youcandeploytoaninstalledemulatorortoaconnecteddevice(refersection3.7.2).

    3.3 CONFIGURINGYOURMOBILEAPPLICATION

    3.3.1 WEBSERVICESAllwebserviceendpointsaredefinedintheApplication Resources > Descriptors > ADF META-INF > connections.xmlfile.Withinthisfile,youmustreplaceeachinstanceofthestringhostnamewiththecorrectpathtotheserverthathostsyourwebservices,suchasmyserver.myinstitution.edu.

  • OracleCorporationConfidentialForOracleinternaluseonly Page16

    Toensuresecurecommunicationstoandfromthemobiledevice,itisimportanttousesecuredwebservices(i.e.httpsandnothttp)thathaveanSSLcertificatesignedbyacertifiedCA(sinceaselfsignedcertificatewillnotwork).

    Havingconfiguredyourmobileapplicationthisway,yourmobileapplicationwillconnecttothewebserviceendpointsthatyouhavedefined.Ifforanyreasononeormoreoftheseendpointschange,youwillneedtoreleaseanewversionofyourmobileapplication.

    3.3.2 SECURITYChapter18oftheADFMobileDevelopersGuideprovidesanoverviewofthesecurityframeworkwithinADFMobileanddescribeshowtoconfigurethesecuritymechanismswithinanADFMobileapplication.

    3.3.2.1 LoginPageCampusMobileisdeliveredtoyouwithacustomloginpage,describedbythefileApplicationController > Web Content > login.html.ItisasimpleHTMLpagethatprovidesusernameandpasswordtextentryboxes,aLoginbuttonandaRemembermecheckbox.

    Forinformationaboutcustomizingthedeliveredloginpage,refertosection3.5.1.

    3.3.2.2 AuthenticationCampusMobileauthenticatesagainstthedeliveredauthenticationRESTwebservicethatisdescribedinsection2.3.1.Thelocationofthiswebserviceisdefinedintheconnections.xmlfile,withinthenodeLoginConnection,aselementsand.

    Youmustdefinethecorrectwebserviceendpointintheseelements.

    Note: It is recommended that the hostname of the URL be the same as that of the RESTful web service endpoint, otherwise you must add the URL to the URL whitelist (refer to section 12.3.2 of the ADF Mobile Developers Guide for information on how to do this).

    Followingsuccessfulauthentication,theuserscredentialsarestoredintheencryptedondevicecredentialsstore.CampusMobileinjectstheuserscredentialsintotheheaderofsubsequentwebservicecalls.

    3.3.2.3 AuthorizationMostfeatureswithinCampusMobileareconstrainedforaccessbythePermissionListHCCPCSSA3000.ThisisdefinedintheView Controller > Application Sources > META-INF > adfmf-feature.xmlfile.IfyouwanttomakeuseofadifferentPermissionList,changethevalueforeachfeatureinthisfile.

    CampusMobilecallsthedeliveredauthorizationRESTwebservicethatisdescribedinsection2.3.2.Thelocationofthiswebserviceisdefinedintheconnections.xmlfile,withinthenodeLoginConnection,aselement.

  • OracleCorporationConfidentialForOracleinternaluseonly Page17

    Youmustdefinethecorrectwebserviceendpointinthiselement.

    3.3.2.4 TimeoutsADFMobileprovidesforbothanIdleTimeoutandaSessionTimeout,asdefinedwithinbytheandelements,respectively,withintheLoginConnectionnodeofconnections.xml.

    TheIdleTimeoutdefinesthetimeforanapplicationfeaturetoremainidlebeforetheusermustreauthenticate.Afterthisperiodexpires,theuseristimedoutofalltheapplicationfeaturesthataresecuredbytheloginconnection.Inthissituation,theuserispromptedwiththeloginpagewhentheyaccessthefeatureagain.IftheSessionTimeouthasnotyetoccurred,theuserscredentialsareauthenticatedagainstthelocalcredentialstore(otherwisetheuserscredentialswillbeauthenticatedagainsttheauthenticationservice).ThedefaultvalueoftheIdleTimeoutis30minutes.

    TheSessionTimeoutdefinesthetimethatausercanremainloggedintoanapplicationfeature.Afterthisperiodexpires,theuserispromptedwiththeloginpageandtheuserscredentialsareauthenticatedagainsttheauthenticationservice.Thedefaultvalueis8hours.

    3.4 BRANDINGYOURMOBILEAPPLICATIONBeforedistributingtheCampusMobiletoyourstudents,youwillwanttobranditasyourownapplication,consideringattributessuchas:

    Theapplicationid,nameandicon Yourcompanyorinstitutionlogoandcolorscheme Informationabouttheapp Versioningoftheapp

    ThesechangesaremadewithinJDeveloperandaredescribedinthesectionsbelow.

    3.4.1 CHANGINGTHEAPPLICATIONIDBothAndroidandiOSdevelopmentguidelinesrequirethateveryapphasanidentifier(calledpackageforAndroidappsandBundleIDforiOSapps)thatisuniqueacrossallapplicationsintheAppleAppStore,oranapplicationmarketplace,asappropriate.Therestrictionsonthisidentifieraresimilar,butslightlydifferent,forthetwooperatingsystems.ThisidentifierisneverdisplayedtoyourendusersandyoucansetitforeachoperatingsystemwithintheJDeveloperdeploymentdescriptors,usingtheApplication Bundle Idattribute.Refertosection3.7.2formoreinformationaboutdeploymentdescriptors.

    However,sincethenamingconventionsaresimilar,youmayprefertousethesameuniqueidentifierforbothAndroidandiOS.ThiscanbeachievedbysettingtheIdattributeintheadfmf-application.xmlfile.Atdeploymenttime,ifyouhavenotenteredaspecificvalueforApplication Bundle Idwithinadeploymentdescriptor,thisattributewillbereadfromadfmf-application.xml.

  • OracleCorporationConfidentialForOracleinternaluseonly Page18

    CampusMobileisdeliveredwiththeIdattributesettocom.oraclecorp.internal.CampusMobile.Youshouldchangethistosomethinglikeedu.myinstitution.MyApp,whichmustmatchtheprovisioningprofileissuedbyApple(foriPhoneappdevelopment).

    Bydefault,thenameofthedeliveredpackagefile(forexample,MyApp.apkorMyApp.ipa)willbederivedfromtheIdattributespecifiedinadfmf-application.xml.Youcanoverridethisinthedeploymentdescriptors.

    3.4.2 CHANGINGTHEAPPLICATIONNAMETheconfigurationfileadfmf-application.xmlholdsthevalueforthenameoftheapplicationthatwillbedisplayedtousersintheAppleAppStore(oranapplicationmarketplace)andontheusersdevices.

    Asdelivered,theapplicationnameisreadfromtheresourcebundleCampusMobileBundle.xlf,inwhichitissettoCampus.Touseyourownname,changethevalueofAPP_NAMEwithinthisfiletothenameyouwanttouse.

    Thereasonfordefiningtheapplicationnameintheresourcebundleistoallowforlocalizationofthename.Youcanlearnmoreaboutlocalizationinsection3.5.5.

    3.4.3 CHANGINGTHEAPPLICATIONICONBothAndroidandiOShavedifferentrequirementsfortheappicon.Youshouldreadtheguidelines(AndroidDevelopers>Design>IconographyandiOSDeveloperLibrary>CustomIconandImageCreationGuidelines>AppIcon)beforedevelopingyourownappicon.Bothoperatingsystemsrequirethedefinitionoficonimagefilesfordifferentformfactors,whichwillbescaledaccordinglyonuserdevices.

    ThedeliveredCampusMobileappiconhastwoversions,oneforAndroidandoneforiOS,both114x114pixels.WhilstADFMobilefacilitatesthedefinitionofdifferentsizedimagefilesfordifferentdeviceformfactors,thesame114x114imagefilehasbeenreplicatedwithdifferentfilenamesforeachoperatingsystem.TheseimagefilesarelocatedandroidandiosfoldersunderApplication Resources > Resources.Onceyouhavedevelopedyourownappicon,youcanreplacethedeliveredimagefileswithyourown,usingthesamefilenames.

    BeawarethatApplealsorequiresa512x512imagefileforusewithiniTunes.

    NotethatADFMobileallowsfortheiOSglosseffectontheicontobeturnedonoroff.ThiscanbeconfiguredwithintheiOSdeploymentprofileunderApplication > Application Properties > Deployment > IOS_MOBILE_NATIVE_archive > Edit > iOS Options > Application Images.Asdelivered,itisturnedoff.

    3.4.4 INSERTINGYOURLOGOAsdelivered,theOraclelogoappearsonthesplashscreen,thespringboardandtheaboutpage.

  • OracleCorporationConfidentialForOracleinternaluseonly Page19

    Thesplashscreenisonewholeimage,forwhichthereexistsmultipleimagefilesfordifferentdeviceformfactors.Theseimagefilesarelocatedinthesamefoldersastheappicons,underApplication Resources > Resources.Onceyouhavedevelopedyourownsplashscreenimage,youcanreplacethedeliveredimagefileswithyourown.

    Thelogousedonthespringboardandaboutpageisanimagefile(logo.png)storedwithintheViewController > Web Content > resources > images.Youcanreplacetheexistingfilewithyourown.Eachofthespringboardandaboutpagesdefinethelocationofthelogoonthepage.Youcanmodifythesepages(springboard.amxandabout.amxwithinViewController > Web Content > oracle.cs.cm.view.sprinboard)ifyourlogowouldbebettersuitedinadifferentlocation.

    AsmallversionoftheOraclelogoisusedastheHomebuttonthat,whentapped,returnstheusertothespringboard.Thisisstoredasanimagefile(home.pngwithinViewController > Web Content > resources > icons)whichyoucanreplacewithyourown.Youmaywanttouseasmallversionofyourownlogotoensureaconsistentbrandingthroughouttheapp.Otherwiseyoumaywanttouseagenerichomeicon.

    3.4.5 INSERTINGYOURCOLORSCHEMETheoverallvisualcolorschemepresentedthroughouttheappisdeterminedbytheskinandafewbackgroundimages.TheuseofCascadingStyleSheet(CSS)skinsensuresthatallapplicationcomponentsshareaconsistentlookandfeel.

    ThedeliveredskinisanextensionofthedefaultskinprovidedbyADFMobile(calledmobileFusionFx),whichincludesapredominantlyblackpagebackground,withblackheaderandfooter,alongwithstandardiOScoloringforpagecomponents,suchastables,listsandbuttons.

    TheskinextensionsaredefinedinViewController > Web Content > resources > styles > common.css,whichisregisteredintheadfmf-skins.xmlfile.

    Youmaywanttochangetheskinoftheappsothatitusesyourinstitutionscolorsandworkswelltogetherwithyourlogo.Todothis,youcaneitherextendthedeliveredskinorinsertyourownskin.Chapter5.11oftheADFMobileDevelopersGuidedescribeshowtodothis.

    Thespringboardandaboutpagesmakeuseofbackgroundimagesthataredifferenttotheonedefinedintheskin.PortraitandlandscapeversionsoftheseimagefilesarelocatedinViewController > Web Content > resources > images.Youcanreplacetheexistingfileswithyourown.Oneachofthespringboardandaboutpagesstretchthebackgroundimagetofittheusersdevice.Theyalsodefinethelocationofthelogoonthepage.Youcanmodifythesepages(springboard.amxandabout.amxwithinViewController > Web Content > oracle.cs.cm.view.sprinboard)ifyourlogowouldbebettersuitedinadifferentlocationwhendisplayedonthenewbackgroundimage.

  • OracleCorporationConfidentialForOracleinternaluseonly Page20

    3.4.6 INSERTINGYOURAPPINFOAsdelivered,theaboutpagedisplaysabackgroundimage,alogo,theappnameandversionnumber,andanOraclecopyrightnotice.YoushouldchangethecopyrightnoticetoyourownmessagebymodifyingthevalueforCOPYRIGHT_LBLwiththeresourcebundleViewControllerBundle.xlf.

    Ifyouwanttomakemoreextensivechangestotheaboutpage,youcouldmodifythedeliveredfile(about.amxinViewController > Web Content > oracle.cs.cm.view.sprinboard),oryoucouldwriteyouownpage.Thiscouldbeaconvenientplacetodisplayanyenduserlicenseagreement.Ifyouwriteyourown,youwillneedtoupdatethereferencewithinspringboard-task-flow.xmlinthesamelocation.

    3.4.7 MAINTAININGTHEAPPVERSIONTheappversionisdefinedinadfmf-application.xml.Asdelivered,thiswillindicatetheversionofCampusMobile,butsincethisversionisdisplayedtoyourusers,youshouldmaintainyourownappversion.

    Althoughyoucanenteranytextinthisfield,sinceiOSonlyallowstheappversiontocontainoneormoreperiodseparatedintegers(forexample,youcanspecify10.2.5,butnotV1),youshouldfollowtheiOSapprovedformattoensurecompatibilityacrossbothAndroidandiOS.

    IfyouwanttouseadifferentappversiononAndroid,youcanconfiguretheVersion NameattributeoftheAndroiddeploymentdescriptorseparately.NotethattheAndroiddeploymentdescriptoralsocontainsaVersion Codeattribute,whichisnotdisplayedtousersandisusedtodeterminewhetheroneversionofyourappismorerecentthananother.

    NotethattheDescriptionandVendorfieldsinadfmf-application.xmlcanbeleftempty,astheyarenotused.

    3.5 CUSTOMIZINGYOURMOBILEAPPLICATION

    3.5.1 CUSTOMIZINGTHELOGINPAGEAsdelivered,CampusMobilecontainsaloginpage,login.html,locatedinApplicationController > Web Content.Youmaywanttomodifythelookandfeelofthispagetoincludeyourlogooradditionalinformationforyourusers.Todothis,youshouldcreateanewHTMLpage(perhapsacopyofthedeliveredone),whichshouldbereferencedasthecustomloginpagewithinadfmf-application.xml.

    3.5.2 CUSTOMIZINGTHESPRINGBOARDANDNAVIGATIONBARAsdelivered,CampusMobilecontainsaspringboardandanavigationbar.

    ADFMobileprovidesyouwiththeabilitytocustomizethefunctionalityofthespringboardandnavigationbarusingJDeveloper.Forexample,youcould

  • OracleCorporationConfidentialForOracleinternaluseonly Page21

    Turnoffthespringboardornavigationbar Changethewaythespringboardisdisplayed Createyourownspringboard Displayatogglebuttonthatenablestheusertodisplaythespringboardornavigationbar

    Chapter5.4oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations.

    3.5.3 CUSTOMIZINGTHEAPPFEATURESEveryADFMobileappcontainsoneormorefeatures.Afeaturemaybeaccesseddirectlyfromthespringboardornavigationbar,oritmaybeaccessedfromanotherfeature.

    Asdelivered,CampusMobilecontainsthefollowingfeatures:

    Schedule Search Cart Grades Profile Springboard EnrollmentOptions Redirector Map

    Thefirstfiveinthelistaredisplayedonthespringboardandnavigationbar.Theothersarenot.

    ADFMobileprovidesyouwiththeabilitytocustomizethedisplayandfunctionalityofthedeliveredfeaturesusingJDeveloper.Forexample,youcould

    Removefeaturesfrom(oraddto)thespringboardornavigationbar Changetheorderofthefeaturesdisplayedonthespringboardandnavigationbar Changethenamesandiconsoffeatures(refersection3.5.5) Changefeaturesecurityandconstraints Changefeaturelifecycleandtaskflows

    Chapter5.5oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations.

    NotethatthedeliveredfunctionalityofCampusMobileisdefinedbythefeatures,sochangingattributessuchassecurity,constraints,lifecycleortaskflowsisnotrecommended.

    3.5.4 MAPSINTEGRATIONThedeliveredCampusMobileapplicationhasaMapfeaturethatenablesuserstodisplaythelocationofaclassroomonamapiftheclassroomsbuildinglocationhasbeenenteredintoCampusSolutions.

  • OracleCorporationConfidentialForOracleinternaluseonly Page22

    ADFMobilesupportstheuseofOracleMapsorGoogleMaps.Asdelivered,CampusMobileusesOracleMapsandsupportsthedisplayoftheclassroomlocationandtheuserscurrentlocation.

    IfyouchangetoGoogleMaps,youruserswillbeabletoaccessGoogleStreetViewandadditionallayers,suchassatellite.Itwouldalsobepossibletoextendtheapptoprovideadditionalinformation,suchasdirections.

    ToconfiguretheapptouseGoogleMaps,youmustmodifyadf-config.xmlasfollows:

    1. Replacewith.

    2. AddwhereyourKeyisyourinstitutions(orcompanys)GoogleMapsbusinesslicensekey.

    3. AddwhereyourClientIdisyourinstitutions(orcompanys)clientidforyourGoogleMapsbusinesslicense.

    4. Remove.

    5. Remove.

    Refertosection3.6.1fordetailsofhowtoextendtheapptomakeuseofadditionalGoogleMapsfunctionality.

    3.5.5 ICONS,LABELS,RESOURCEBUNDLESANDLOCALIZATIONAlliconsandlabelsdisplayedwithinCampusMobilearereferencedwithintheresourcebundleViewController.xlf.Thisapproachnotonlyenablesyoutoeasilyreplaceaniconorlabelwithyourown,butalsofacilitateslocalization.Inthisway,youcansupportmorethanonelocalewithintheapp.Refertosection5.10oftheADFMobileDevelopersGuideformoreinformation.

    CampusMobiledeterminestheresourcebundletobeusedbasedonthelocalespecifiedinthedevicessettings.

    Ifyoudontneedtosupportmultiplelocaleswithintheapp,youcansimplymakechangestolabelsdirectlywithinViewController.xlfandyoucanreplacetheimagefilesdirectlyinthefolderViewController > Web Content > resources > icons.

    Youshouldreadtheguidelines(AndroidDevelopers>Design>IconographyandiOSDeveloperLibrary>CustomIconandImageCreationGuidelines)beforedevelopingtheiconsettobeusedinyourmobileapplication.

    3.5.6 CUSTOMIZINGTHEGENERICERRORMESSAGEIfCampusMobilereceivesaninvalidwebserviceresponse(ornoresponsewithinthetimeoutperiod),agenericerrormessageisdisplayedtotheuser.Asdelivered,thiserrormessagestatesConnectionError.Pleasetryagain.Iftheproblempersists,pleasecontactyourIThelpdesk.You

  • OracleCorporationConfidentialForOracleinternaluseonly Page23

    maywanttocustomizethismessagebyincludingaphonenumberoremailaddressthattheycancontactinsuchsituations.Todothis,modifythevalueforthekeyCONNECTION_ERROR_LABELinViewController.xlf.

    3.5.7 CUSTOMIZINGPAGESWITHINTHEAPPADFMobileAMXisasubframeworkwithinADFMobilethatprovidesasetofUIcomponentsthatenableyoutocreateanapplicationfeaturewhosebehaviorisidenticalonallsupportedplatformsandprovidesaccesstodevicefunctionality.JDeveloperallowsyoutodragthesecomponentsintoaneditorfromtheComponentpaletteorfromtheDataControlpalette.JDeveloperalsoallowsyoutocreatetaskflowsthatdefinethenavigationbetweenADFMobileAMXpages.

    EachpagewithinCampusMobileisdefinedbyanAMXfile,suchasgrades.amxfortheGradesfeature.UsingJDeveloper,youhavealotofflexibilityforchangingthelayoutofanypagewithintheapp.

    Ratherthanmodifyinganydeliveredfiledirectly,youshouldmakeacopyofthefileandmodifythecopy.Ensurethatthenewpagefileisreferencedwithintheassociatedtaskflow(forexample,inthecaseofgrades.amx,thiswouldbegrades-task-flow.xml).

    Beforemakingsuchchanges,pleasereadsections6,7and8oftheADFMobileDevelopersGuidetoensurethatyouhaveathoroughunderstandingofAMX.

    Forinformationaboutchangingthedatadisplayedonapagewithintheapp,refertosection3.6.2.

    Itisnotrecommendedtochangethetaskflowswithintheapp,otherthantoupdatethepagenamesifyoucustomizepages.Otherwiseyoumaybreakthedesignedflowoftheapp,potentiallyintroducingbugsandevenleadingtodataintegrityissues.

    3.6 EXTENDINGYOURMOBILEAPPLICATION

    3.6.1 PROVIDINGADDITIONALMAPFUNCTIONALITYIfyouchangetousingGoogleMaps(refertosection3.5.4)andwanttomakeuseofotherGoogleMapsAPIfeatures,suchasprovidingdirections,youmustwriteyourownJavaScriptandincorporateitintoacopyoftheshow-location.amxpage(refertosection3.5.7regardingcustomizationstodeliveredAMXpages).

    3.6.2 CHANGINGTHEDISPLAYEDDATAInadditiontochangingthelayoutofadeliveredAMXpage(refertosection3.5.7regardingcustomizationstodeliveredAMXpages),youmaywanttoalterthedatathatisdisplayedonadeliveredAMXpage.

    Toremovedata,simplyremovethecomponentthatdisplaysthedata.Thismaybeusefulifyoudonotmakeuseofaparticularfieldduringatransactionandthereforeyoudontwanttoconfuseyourusersbydisplayingthefield.

  • OracleCorporationConfidentialForOracleinternaluseonly Page24

    WithintheAMXpagedefinition,youhaveflexibilityabouthowdataisdisplayed.Forexample,youmaywanttodisplayGPAtoonly1decimalplaceinsteadof3.

    Inordertodisplayadditionaldataonapage,youmustfirstensurethatthedataisdeliveredtotheapp.Thismaybeassimpleasalteringthedeliveredentityprofilefortherelevantwebservice(refertotheEntityRegistrychapter(s)oftheCampusCommunityPeopleBook).Oryoumayneedtocustomizethewebservice.

    ToensurethatthedatainthewebserviceresponseismadeavailabletotherelevantAMXpage(s)fordisplay,youneedtowriteadatacontrol.ThedeliveredDataControlscannotbemodifiedorextended.Formoreinformationaboutwebservicedatacontrols,refertochapters8and9oftheADFMobileDevelopersGuide.

    Onceyouhavecreatedthewebservicedatacontrol,youcanthenupdateyourAMXpagetodisplaytheadditionaldata.

    3.6.3 PROVIDINGADDITIONALFEATURESOneofthebenefitsofusingOracleADFMobiletechnologyistheeasewithwhichyoucanextendCampusMobilebyaddingnewfeatures.Asdescribedinsection1.3,eachofAMX,LocalHTMLandRemoteHTMLfeaturesmaycoexistwithinanADFMobileapplication,whichmeansthatyoucanleverageexistingwebpagesandwebserviceswithouthavingtolearnADFMobileAMX.

    Forexample,ifyoualreadyhaveawebpagethathasbeendesignedforthemobilebrowser(orevenifithasnt),youcanveryeasilyaddaRemoteHTMLfeaturethatdisplaysthewebpagewithinCampusMobile.Formoreinformationonthis,readchapter12oftheADFMobileDevelopersGuide.

    Alternatively,ifyouhaveexistingwebservices,youcaneasilyaddaLocalHTMLfeature,writingyourownHTMLcode(inJDeveloperornot)thatcallsthewebservices.Suchpagesmaystillaccessthedevicefunctionality.Formoreinformationrefertosection5.9.1oftheADFMobileDevelopersGuide.

    3.7 MANAGINGYOURMOBILEAPPLICATION

    3.7.1 DEVELOPINGYOURMOBILEAPPLICATIONIfyouintendtomakecustomizationsorextensionstothedeliveredapp,thenyoushouldconsiderformalizingyourdevelopmentprocesses.

    Atypicaldevelopmentlifecycleincludes:

    Requirementsgatheringanddefinition Design Implementation(refersections3.2to3.6) Deployment(refersection3.7.2) Testinganddebugging(refersection3.7.3)

  • OracleCorporationConfidentialForOracleinternaluseonly Page25

    Distribution(refersection3.7.4) Support(refersection3.7.5)

    3.7.2 DEPLOYINGYOURMOBILEAPPLICATIONChapter17oftheADFMobileDevelopersGuidedescribesindetailtheentiredeploymentprocess.

    ThedeliveredCampusMobileapplicationhasadefaultAndroiddeploymentprofileandaniOSdefaultdeploymentprofile.Youcanmakeuseoftheseforyourtestingandalsofortheeventualcreationofmobileapplicationfilesfordistributiontoyourstudents.Otherwiseyoucanmodifytheseorcreatenewdeploymentprofilestodeploywithdifferentattributes.

    ThedelivereddeploymentprofilesareconfiguredtodeploytheappinReleasemodeandinthecaseofiOS,asaniPhoneapp(whichmeansthattheappcanbedeployedtoaniPadbutwilldisplayasiPhonesize).NotethatchangingtoDebugmodewillcauseyourmobileapplicationtorunmuchslower.ChangingtoaniPhone/iPadappwillcausetheapptostretchtheUIifdeployedtoaniPad(forwhichitisnotdesigned).Ofcourse,changingtoaniPadappwillprecludedeploymentoftheapptoaniPhoneforyourusers.

    Thedelivereddeploymentprofilesareunsigned.Youmustconfigurethedeploymentprofileswithyoursigningproperties.ForAndroid,refertosection17.2.3.4oftheADFMobileDevelopersGuide.ForiOS,refertosections17.2.4.2and17.4.4oftheADFMobileDevelopersGuide.

    Todeployyourmobileapplicationfortesting,selectApplication>Deploy,thenselecteithertheAndroidoriOSdeploymentprofile.Youmustthenselecttodeploytoaconnecteddeviceoraninstalledemulator.Oncethedeploymenthasfinished,youwillbeabletotestyourmobileapplication.

    3.7.3 TESTINGANDDEBUGGINGYOURMOBILEAPPLICATIONMoreinformationabouttestinganddebuggingyourmobileapplicationcanbefoundinchapter19oftheADFMobileDevelopersGuide.

    Asdelivered,CampusMobileonlylogsSEVEREmessages.Thisisrecommendedforyourproductionreleaseofyourmobileapplication.However,fordebuggingpurposes,youcanlowerthemessageseverityforlogging.Todothis,modifythevaluefor.levelinthefileApplication Resources > Descriptors > META-INF > logging.properties.Theacceptedseverityvaluesare:SEVERE,WARNING,INFO,FINE,FINER,FINEST.Formoreinformationaboutconfigurationoflogging,refertosection19.4intheADFMobileDevelopersGuide.

    JDevelopercreatesafilewithintheApplication Resources > Securityfolderthatidentifiesasetofcertificatesfromwellknownandtrustedsources.IfthecertificateusedbyyourSSLwebservicesisnotcontainedwithinthisset,ornotsignedbyaCAwithinthisset,youmaynoticeanerror'Certificatewasissuedbyanunrecognizedentity'inthelogfile.Refertosection18.5oftheADFMobileDeveloper'sGuideforinformationonhowtoaddyourcertificatetothetrustedset.

    NotethatthefirstlaunchoftheapponAndroidmaytakeawhileasitunpackstheapp.

  • OracleCorporationConfidentialForOracleinternaluseonly Page26

    3.7.4 DISTRIBUTINGYOURMOBILEAPPLICATIONDeployingtheapplicationtotheproductionenvironmenttypicallyinvolvespublishingtoanenterpriseserver,theAppleAppStore,oranapplicationmarketplace,suchasGooglePlay.AfteryoupublishtheADFMobileapplication,enduserscandownloadittotheirmobiledevices.

    Refertosection17.3.3oftheADFMobileDevelopersGuideforinformationaboutpublishinganAndroidapplication.Refertosection17.4.5oftheADFMobileDevelopersGuideforinformationaboutpublishinganiOSapplication.

    3.7.5 SUPPORTINGYOURMOBILEAPPLICATIONYoushouldconsiderthesupportandmaintenanceramificationsofdeliveringamobileapplicationtoyourstudents.

    Youmaywanttosetupasupportphonenumberoremail,whichcouldbereferencedinthemobileapplicationsaboutpage(refertosection3.4.6)orgenericerrormessage(refertosection3.5.6).

    Youmayconsiderprovidingamechanismforstudentstogivefeedbackabouttheapp,whichcouldbeusedtoinformadditionaldevelopmentofyourmobileapplication.