Friday, June 26, 2015

New PeopleTools Mobile Book

My wife and I have been writing another book. We are reviewing proofs now, which means we are getting close to publication. I did a quick search on Amazon and see that Amazon is taking pre-orders: PeopleSoft PeopleTools: Mobile Applications Development. Publication date is currently set for October 16, 2015, which means it will publish just before OpenWorld. Fluid and MAP have been out for about a year. If you guessed that a new PeopleTools mobile book would cover these mobile technologies, you guessed correctly. But I saw no reason to stop there. After describing how to use Fluid and MAP, the book moves on to building responsive mobile applications using standard HTML5 development tools and libraries including jQuery mobile and AngularJS. Just today I spoke with a customer still using PeopleTools 8.50. What are the odds that customer will be using PeopleTools 8.54 in the next year? The second section of this book, using HTML5 is perfect for a customer in this situation because it describes how to connect a modern single page application to a PeopleSoft back end using iScripts and REST services (one chapter for each back end solution). The book finishes with examples of building native and hybrid applications for PeopleSoft using the Android SDK, Apache Cordova (my personal favorite), and Oracle's Mobile Application Framework. Here is a rough outline:

Chapter 1 shows you how to prepare your workstation for mobile development. This includes configuring HTML5 browsers, developer tools, and emulators.

Chapter 2 digs into Fluid, showing two examples of creating Fluid pages. The first is a basic page whereas the second is a two-column responsive page. This chapter covers search pages; toolbar actions; and fluid field, page, and component features. The point of this chapter is to help the reader feel comfortable with Fluid. Fluid includes a lot of new features based on HTML5, CSS3, and JavaScript. I really want customers to understand, however, that they can build Fluid pages using core PeopleTools without any knowledge of the modern web concepts. Of course, you can build some really amazing solutions if you know HTML5, CSS3, and JavaScript.

Chapter 3 explains the new Mobile Application Platform (MAP): what it is, when to use it, and how to use it. A chapter wouldn't be complete without examples, so there are plenty of examples to help you start your next MAP project.

Chapter 4 segues into modern mobile development. The rest of the book takes the user interface outside of PeopleTools. Before moving away from Application Designer, however, we need a data model and a scenario. This chapter presents the scenario and lays the foundation for the rest of the chapters. In this chapter you will work with SQL and the Documents module.

Chapter 5 shows us how to create our first HTML5 front end. I wanted to make this chapter as simple as possible so I used jQuery Mobile. In this chapter the reader will write very basic HTML and have the opportunity to see how jQuery Mobile progressively enhances simple markup to create impressive mobile solutions.

Chapter 6 is the exact opposite of chapter 5. Here I wanted to demonstrate flexibility and performance. This chapter is intentionally designed to provide a challenge for developers. Readers tell me it is a good chapter, perhaps a little intimidating, but very worthwhile. In this chapter you will work with AngularJS, Topcoat, and FontAwesome.

Chapter 7 shows the reader how to build back-end services for Chapters 5 and 6 using iScripts.

Chapter 8 is the same as Chapter 7 but uses REST services instead of iScripts. If you are new to PeopleSoft REST services and want to learn how to configure REST services as well as how to work with Documents to serve JSON from Integration Broker, then you will find this chapter very valuable.

Chapter 9 shifts from HTML5 to native. In this chapter the reader will learn how to use the Android SDK to consume the services built in chapter 8. The point of this chapter is not to teach Android development but rather how to consume PeopleSoft services from Android.

Chapter 10 turns to a native application category described as Hybrid applications. In this Chapter the reader will learn how to convert the Chapter 6 prototype into an on-device application that has access to device specific features such as the camera. In fact, the example shows how to use the Cordova API to take a selfie.

Chapter 11 brings us back to Oracle-specific technology by showing how to build a hybrid application using Oracle's Mobile Application Framework (MAF). I chose to spend a little more time in this chapter to teach some of the specifics of MAF. For example, I wasn't very excited about the default appearance of buttons on Android so I included steps showing how to extend the MAF skin.

Publication is still a few months away, but we are getting close. I'm really hoping to be able to give away copies during my OpenWorld session this year.

38 comments:

  1. Looking forward to it..

    ReplyDelete
  2. Waiting for this gem :)

    ReplyDelete
  3. Looking forward to read this valuable book

    ReplyDelete
  4. I am sure this is going to be as the previous ones

    ReplyDelete
  5. Jim this look great.... But I need it now and as E-doc.....

    I have started to build my first Fluid Page.... What a Pain....

    Can you give me a hand with Creating a Scroll Area that looks half Descent in Fluid..

    Basicly multiple Rows
    Sel Item Quantity UOM

    X yyyyyy 45 EA
    Description
    X yyyyyy 44 EA
    Description

    Looks good in AppDesign but like 1 column for everything

    ReplyDelete
  6. @William, fields lay out verically unless they are grouped inside a group box. With a group box, everything in the group box is vertical, but the group boxes can be aligned horizontally. Another option is to use the delivered CSS classes, such as psc_float-right to align content horizontally.

    If you can use a grid, that is much easier. The trick with a grid is to set the "Original Flex Grid Layout" option in the grid "Use" properties.

    ReplyDelete
  7. Problem the grid would be to wide, So I wanted to add the description on the Second line So a scroll area would be perfect.

    So If I create a group box in the Scroll area for the 4 columns what Setting would I use to display horizontally.

    having multiple Group Boxes , anywhere on my screen still creates 1 column of fields... It is sooo strange

    ReplyDelete
  8. @William, switch to the fluid tab of the group box and look for the Default Style Name attribute. Add "psc_float-right" to one of them and see what happens. There is a red paper in MyOracle Support that tells how to convert a component to fluid. That paper lists several of these delivered class names.

    ReplyDelete
  9. awesome :) cannot wait for this book :)

    ReplyDelete
  10. Something you may want to add or at least a note in your book Since I did not see any where if you are planning to add to Iphone or Small screen (Makes it look better)

    AddMetaTag("viewport", "user-scalable=yes, initial-scale=1.0, minimum-scale=1.0, width=device-width, minimal-ui");

    Still have not been able to have a couple fields next to each other
    AAA BBBBBBB CCCCC
    Alwas looks like
    AAA
    BBBBBBB
    CCCCC

    Real Pain

    ReplyDelete
  11. @William, for each field, add this to the Default Style Class property: psc_float-right or psc_float-left.

    ReplyDelete
  12. Wow ... This fluid stuff is SOOOOO Frustrating

    I kind of got the scroll area to workish... 1st row is good next row I Had to play with psc_nowrap and psc_padding..

    But due to margin or padding I cant seem to get rid of.. looks like

    X XXXX XXXXXXX XXX

    XXXXXXXX

    X xxxx xxxxxxx xxx

    xxxxxxx


    Thank goodness there is chrome and Inspect elements to help play with class just to get some of it to work, TWeak source and see what happens then adjust peoplesoft then try again

    Other than a grid everything goes into one column.

    I have had so many issues on such simple things.. Every thing I have read s so simplistic and not really useful in real life. I am hoping your book has some real good examples.

    I also found Oracle documentation detailing CSS that were defined , those links maybe useful in your book

    W

    ReplyDelete
  13. Not really mobile, but it is HTML5 related. It would be great to get file upload Drag and Drop working with PeopleSoft.

    ReplyDelete
  14. Congrats and thanks forbeing able to muster up the effort to write a new book. I'm sure it will be great and look forward to digging in.

    On another note, looking for someone to teach an Application Package class to a small group (Intro/Advanced). Can't find a class at Oracle or elsewhere. Would you have a recommendation or suggestion? - Thx!

    ReplyDelete
  15. @NovaChargedApps, I recommend Tim Burns with ioConsulting.

    ReplyDelete
  16. @William, thank you for the feedback. If you are looking at this book for deep Fluid content, I think you might be disappointed. The book walks through a couple of Fluid examples, but only one chapter. Most of the content in this book is about how to build mobile applications WITHOUT Fluid or MAP (HTML5, jQuery, Cordova, Android, and MAF). Fluid did not release until the end of our writing time.

    ReplyDelete
  17. AHHHh ... to bad .. I have a fluid page workingissh..

    I have some weird issues...

    I created a scroll area... But there is no scrolling, so I created a Group box around it with fluid Scroll selected vertical.. It works Okayish.. But if I have there are only a couple of rows it seems to cut the last couple of rows off so there is a reason to scroll I guess.. But it is really cludgy.... I was even trying to find a way to turn off and on scrolling.. dynamically and turn it back on if the row count was x numbers

    Any ideas that could help

    w

    ReplyDelete
  18. @William, PeopleTools posted a new fluid video. You probably already know most of it. I thought you might be interested in the psc_column-2 portion right around 58 minutes into the presentation. Video Link

    ReplyDelete
  19. Thanks I Created my page, with the Scroll area and Collapsible areas, It is wild how much screen tweaking you need to do.

    Things I think you may want to add to your book is the Style Sheet Reference I found somewhere in Oracle. It helped a lot.
    And also the use of Inspecting Element and tweaking the class to see the effect an page then you can apply to the appDesigner.

    Also a weird caution.. in AppDesign. Something happened (Page in use by someone or similar error) and I lost all Fluid Classes that I added to the entire page... Not just the field that i was working on. It happened twice.

    ReplyDelete
  20. This book sounds like it is the modern day PeopleSoft development book and may be a welcome addition to the workplace. So notify me when the book comes out.

    ReplyDelete
  21. I wonder if there is any way to get an pre-release edition of this book somehow? I desperately need a comprehensive manual for MAP development...

    ReplyDelete
  22. @Nick, unfortunately, it is not possible to get an advanced copy. The book is still in the editorial process.

    I also don't want to mislead you. The MAP coverage in this book is not comprehensive. It is designed to get customers started with MAP. I believe it gives enough foundation to do anything in MAP, but it certainly isn't a comprehensive manual for MAP.

    ReplyDelete
  23. Thank you, Jim. Considering that there is no other information on this topic (surprisingly), overview that can get customers started with MAP is a dream come true :).

    ReplyDelete
  24. Jim, I wonder how MAP app applications / documents are migrated across environments (say from DEV to PROD). Do they have to be manually re-created across all environments, or there is a more streamlined way to building them?

    Also, what's the value of building a PeopleSoft specific mobile solution vs. doing it outside, say through Oracle MAF/ADF?

    Thanks.

    ReplyDelete
  25. @Nick, all MAP definitions are managed definitions that you can add to an App Designer project.

    The value of Fluid over MAf is that fluid is real PeopleTools pages, components, etc just like any other PeopleTools page so you get prompts, business logic, etc without having to write code or create a web service for each item. MAF, on the other hand, requires a web service for each request (preferably JSON), and handling the request and response requires Java code. With that said, I'm still a pretty big fan of HTML5 and cordova. I think that is why I included all of these topics in my book. For rapid development of PeopleSoft applications, I would have to say fluid is the fastest way to responsive (and adaptive) design.

    Now here is a consideration that customers should evaluate when choosing fluid versus MAF: What are my firewall and mobile device access requirements? If your PeopleSoft instance is behind a firewall, fluid is only valuable to users on-site using employee WIFI. MAF or HTML5/Cordova, on the other hand will run as a separate app with a flexible architecture. You can choose to put a web server proxy in the middle or expose Integration Broker externally.

    ReplyDelete
  26. I would like to hear more about Using /setting up Cordova and Peoplesoft. Looks interesting...

    ReplyDelete
  27. "Your Amazon.com order of "PeopleSoft PeopleTools..." has shipped!"

    Woohoo!!! So excited to dive in :-)

    ReplyDelete
  28. @Chris, Sweet! Thanks for the update. When you receive your copy, turn to page 246 (or thereabouts) of chapter 7 and look for the heading, "Using Pagelet Wizard to configure Mobile Displays." There I recount a visit we had at Alliance a couple of years ago.

    ReplyDelete
  29. Hey Jim , My boss just got back from Oracle Conf in San Fran with a signed version of the book. I took a quick peek at it and will pick up the E_Book Version, Looks great.

    I noticed Oracle Press is Not Selling the E-Book. Is it only on Amazon

    Will

    ReplyDelete
  30. Hi Jim,
    First of all, thank you for releasing this book, I'll order it for sure.

    However, I'm pretty confused concerning PeopleSoft Mobile Application Platform technology and advantages to use it versus developing Fluid UI page directly in the core solution. What are the main drivers to choose between those both architectures?

    I understand that I can deploy a standalone webapp which will communicate with my PeopleSoft back-end through the integration broker.
    I didn't find any architecture inputs to feed my thought.

    Thank you in advanced.

    ReplyDelete
  31. @Jérôme Pillon, great question. PeopleTools guidance is to use fluid unless MAP would be a better alternative. MAP is considered a better alternative if either of these two conditions are true:

    1. You are building an app that communicates with multiple applications. MAP is recommended because it is built on Integration Broker, which is what you would use to communicate with those applications

    2. You want/need a UI built entirely through the web, without app designer (although PeopleCode must be written in App Designer).

    ReplyDelete
  32. @Jim How to debug a MAP REST service. In Travel and expense when the Approval tile is clicked the Pending Approval Transaction are not appearing. Even though its available in Classic page.

    hostname:port/PSIGW/RESTListeningConnector/PSFT_EP/HMAP_APPRO_MAIN_FIN1_MAP.v1/1/-1/T/P/A/GETGROUPS/

    Last I remember was that I was examining few Documents used by the MAP layout and it stopped working.

    is there a way to create trace or some other way to debug this?

    ReplyDelete
  33. Hello Jim,

    Really good to see you helping random PS folks, I also have the following question, hopefully you will be able to guide -

    I am not able to see Approval action buttons - Approve/Deny/Hold on the Expense Transactions in Fluid (9.2 PUM19, Tools 8.55.05).For all other modules, the buttons are present. The setup document available on Oracle Support is followed exactly and all other Transactions (PO, Voucher etc) are correctly displayed on Fluid screens with all relevant Approval actions.

    Any help will be highly appreciated.

    Thanks

    ReplyDelete
  34. @Kunal, I don't have an answer. You may want to post your question on the OTN PeopleSoft General Discussion forum.

    ReplyDelete
  35. Thanks Jim for your quick reply, as matter of fact I put this question on OTN PS Forum yesterday but there is no response till now.
    The puzzling part is that when I check the same Transaction on the Classic Approval page, everything is correctly displayed.

    The exact same issue is present on both the Client environment and my personal PS setup (both on 8.55.05 and PUM 19). Below is the OTN link for this question including the screenshot.

    https://community.oracle.com/thread/3974331


    Thank You !

    ReplyDelete
  36. Hello Jim,

    We are on Peoplesoft 8.54.13, 9.2, and implementing Absence Management fluid, we are on image 21 and trying to implement using MAP approvals. The deleivered approval tile is not showing the count and pending approvals although if we go to classic mode it shows. Any idea what can be wrong.
    I have verfied the MAP setup and Intization URL is opening up.
    Also, we have done the exact setup for FSCM for expense and there we can see the approval count and pending approvals.

    Any help on this is much appreciated!!
    We have also raised case with ORACLE support.

    Thanks

    ReplyDelete
  37. @Kunal. Approve/Deny/Hold disappears in mobile is not visible?

    If you are facing this issue in MAP based approval platform, then you can try clearing the MAP framework cache.

    You can go to below navigation for clearing cache
    Main Menu > PeopleTools > Mobile Application Platform > MAP Administration > MAP File Synchronization

    This resolved my issue

    ReplyDelete
  38. Please note on the Fluid Approvals you need to set them up in Page composer / Page register now.. Look at samples for Journal..

    Use Object OBJ0000300/EOPCOBJ_L0_E/Page HTML Field: Level 0_E This become Right Button Corner

    Looks like they moved the Logic so you can add your own buttons

    ReplyDelete