190 likes | 322 Views
Customer Portal for Developers. Pop-Quiz. Architecture. 1. What does the acronym MVC stand for? 2. What are the advantages of the MVC model? (Choose all that apply) A) Easier to compile B) Easier to separate layout from logic and data management
E N D
Customer Portal for Developers Pop-Quiz
Architecture • 1. What does the acronym MVC stand for? • 2. What are the advantages of the MVC model? (Choose all that apply) • A) Easier to compile • B) Easier to separate layout from logic and data management • C) It should be easier to test your site as each object can be tested in isolation • D) Packaging of discrete functionality • 3. What component of the MVC model is not physically part of a widget (or in the widget folder)? • A) The model • B ) The Controller • C) The Logic.js file • D) The View
Architecture (Continued) • 4. What component is a mandatory part of every widget? • A) The View • B) The Model • C) The Controller • 5. What elements of PHP are allowable (by best practices) in the View? • A) Declarative statements that expose markup or data • B) Code to pull data from the backend models • C) Anything • D) No PHP Code • 6. What elements of PHP are allowable (by best practices) in the Template? • A) Declarative statements that expose markup or data • B) Code to pull data from the backend models • C) Anything • D) No PHP Code
Tools • 7. What does the DreamWeaver Extension do? • A) Provide a set of additional RightNow functionality in DW • B) Add WebDAV to DW • C) Allow DW to Compile code • D) All of the above • 8. When should I re-download the Dreamweaver extension? (Select all that apply) • A) Every time I build a new template • B) Every time I build a new page • C) Every time I change the site/interface that I am working on • D) Every time I create a new set of widgets that I want to appear in the Tag Gallery and menus • E) All of the above • 9. What elements can I represent with variables in Dreamweaver? • A) Session Variables • B) Message Bases • C) URL Parameters • D) Custom Message Bases • E) All of the above
Tools • 10. From the RightNow Icons on the RightNow toolbar in DW, where would you place the rn:meta tag? • A) In a page • B) In a template • C) All of the above • 11. From the RightNow Icons on the RightNow toolbar in DW, where would you place the rn:page_title tag? • A) In a page • B) In a template • C) All of the above
Tools • 12. From the RightNow Icons on the RightNow toolbar in DW, where would you place the variables tag? • A) In a page • B) In a template • C) All of the above • 13. From the RightNow Icons on the RightNow toolbar in DW, where would you place the rn:page_content tag? • A) In a page • B) In a template • C) All of the above
Tools • 14. What functionality is available on the Admin page in August 08? (select all that apply) • A) Set Development Cookie • B) Set Production Cookie • C) Review WebDAV web logs • D) Review Product Deploy logs • E) All of the above • 15. What is the most common mistake you’ll make when uploading and then reviewing a page? • A) Forgetting that you have your production cookie set – and cannot find the page in a browser • B) Answer A
Tools • 16. What functionality is available in the Tag Gallery? (select all that apply) • A) Standard Widget Overviews • B) Custom Widget Overviews • C) Meta tag overviews • D) All the dynamic message base entries • E) All of the above • 17. What elements of the Tag Gallery are dynamic? (select all that apply) • A) The Custom Widget lists • B) The Sample Widget lists • C) Clickstream list in the Meta section • D) The Templates list in the Meta Section • E) All of the Above
Tools • 18. What CP profile options are manageable within the RightNow solution? (select all that apply) • A) Transient Login • B) WebDAV • C) CP Site Administration • D) System Error Log • E) All of the Above • 19. What does Transient Login do? • A) Allow you to login to several instances of your RNT account in parallel • B) Allows you to compile code to production • C) Gives you access to the CodeIgniter libraries • D) All of the above
Tools • 20. What does the Deployment Manager do? (select all that apply) • A) Compiles and minifies code and pushes to production • B) Generates audit logs for the production process • C) Notifies you about bugs • D) Warns you about Best Practice infringements • 21. How does the URL change when a page is pushed to production? • A) Pages have additional arguments • B) An /app/prod extension is added to the URL • C) Nothing changes
Technology • 22. How many widgets does the August’08 release come packaged with? • A) 35 • B) 60 • C) 93 • 23. What does the event bus allow you to do? (select all that apply) • A) Pass events between pages • B) it pulls data from the model • C) Listen to activity from other Widgets • D) All of the Above
Technology • 24. How do you associate custom pages to a template? (Select all that apply) • A) Physically embed them within the template • B) Reference them in the template component of the rn:meta tag • C) Add navigation widgets to that page from the template • D) All of the above • 25. Where are assets visible? • A) In Development mode • B) In Production mode • C) Both
Technology • 26. How are old URLs mapped to new URLs in Customer Portal? • A) Reference the maps in the template • B) Upload the maps to the Tag Gallery • C) Through a mapping file in the config folder • D) Through the use of explicit URLs • 27. How can you associate a Widget to specific CSS? • A) Reference the classes / ids within any template referenced CSS files • B) Utilize the widget specific classes in assets/css • C) A or B • 28. What is the best practice – when just changing the look and feel of a widget? (select all that apply) • A) Copy the whole widget and rename as a custom widget • B) Copy the view and reference the original controllers/logic files • C) Accomplish all you can in the CSS files associated with the file
Last two questions (we promise) • 29. How do you customize error pages? • A) You can’t. Error message page files are static • B) Within the development/errors folder • 30. Which of the following are editable? (select all that are applicable) • A) The AjaxCustom controller • B) The Default pages • C) The Standard Widgets • D) Standard Models • E) Production Folders
Questions? Join us on the Developer Community at: http://devforum.rightnow.com/rightnowdev/
Answers • Model View Controller • B, C and D – Compilation isn’t an important factor • A – The Model – which can be shared by a number of widgets • A – The View – A controller and model or logic.js file are only necessary if data or events need to be accessed or contents of the view manipulated. In practice, you will see a number of widgets referencing one or the other – for the more complex widgets all three . You can also have a custom widget whose view points back to a standard model and controller. • A – Tricky one - but conditional statements are fine for exposing or hiding markup - be careful not to overload your view with any other code • D – Try to not put any code in your template – any functionality that you build there should be pushed down into a widget. • A – it doesn’t add WebDAV support as that is a native part of DW. It isn’t used to compile code – all of that is done in the deployment manager. • Another trick answer. C and D are correct – as is A if you wish to use the pulldown menus to ‘select’ templates when populating the rn:meta tag through a dialog. • A, B and C – Custom message base entries are not supported in CP at this time. • A.
Answers • 11. B – it is used in the template – indicating the area where the page title will be inserted when the template and page are merged • 12. B – They can be used in both • 13. A • 14. Another tricky one. The answer is A, B and C. You will be able to review the deploy logs as well in November ’08 • 15. Either – it is the most common mistake you’ll make – always look for that floating Development Area header to know where you are. • 16. A, B and C – you interact with message base entries via the Variables dialog in DW. • 17. A, B and D – The clickstreams list is static and doesn’t get updated. • 18. A, B and C – D doesn’t apply to CP • 19. A • 20.A, B and C – although it can throw warnings – it doesn’t yet analyze your code and warn you of best practice infringements. • 21. C – Nothing changes to the URLs you have access to in Development mode • 22. 60 – And trust me – I had to count them
Answers • 24. B & C. • 25. In the current versions both – so be careful when overwriting images in particular. • 26. C. • 27. C. • 28. B & C – never forget the assets/css directories • 29. B • 30. A
Results Give yourself ½ point if you get the question partly correct. How did you do? 1 - 10 Oops- time to do some reading! 11-20 Not bad – still a little more effort needed on your part 21-30 Good! You know your stuff – now, lets see what you can do!