The document discusses strategies and tips for customizing applications using the ERModernLook framework. It outlines the typical developer workflow, including modeling the database, customizing business logic, determining conventions, and refining the user interface as needed. The document provides examples of customizing navigation, page flow, and CSS, and recommends taking an iterative approach and leveraging existing templates and components where possible. Resources for further learning include the Direct To Web wiki, Selenium for testing, and sample code on GitHub.
With great power, comes great responsive-ability web design.
Responsive web design (RWD) will be demystified. Believe it or not, it's more than just media queries, although those will be discussed. It starts with proper UI design and application architecture, and then the dive into CSS - but not too deep! You don't have to be an expert to do RWD, but it helps to have some idea of what you are doing.
Learn about Eclipse e4 from Lars Vogel at SF-JUGMarakana Inc.
San Francisco Java User Group hosted an event on April 13th, 2010 with Lars Vogel, a committer on the Eclipse e4 project, who gave a talk on the next generation of the Eclipse Platform. We had two speakers that evening, this is the first of the two presentations. This event was hosted by SUPINFO. Sponsored by TEKsystems, Guidewire Software, Sun, O'Reilly, JetBrains, and Marakana. Organized by Marakana. Video by Max Walker. Photography by Aleksandar Gargenta. http://www.sfjava.org/calendar/12296574/
With great power, comes great responsive-ability web design.
Responsive web design (RWD) will be demystified. Believe it or not, it's more than just media queries, although those will be discussed. It starts with proper UI design and application architecture, and then the dive into CSS - but not too deep! You don't have to be an expert to do RWD, but it helps to have some idea of what you are doing.
Learn about Eclipse e4 from Lars Vogel at SF-JUGMarakana Inc.
San Francisco Java User Group hosted an event on April 13th, 2010 with Lars Vogel, a committer on the Eclipse e4 project, who gave a talk on the next generation of the Eclipse Platform. We had two speakers that evening, this is the first of the two presentations. This event was hosted by SUPINFO. Sponsored by TEKsystems, Guidewire Software, Sun, O'Reilly, JetBrains, and Marakana. Organized by Marakana. Video by Max Walker. Photography by Aleksandar Gargenta. http://www.sfjava.org/calendar/12296574/
Efficient Rails Test-Driven Development - Week 6Marakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this sixth of six classes, Wolf discusses:
- Integration frameworks (Cucumber, Webrat, Capybara, and Selenium)
- Integration testing with Selenium (advantages and problems)
- Page Objects
- Locators (Selenium, CSS and XPath locators
- RSpec Custom Matchers
- Testing for Access Control
** You can get the slides and source code from this presentation at: http://marakana.com/f/215 **
Find more videos, tutorials, and code examples at http://marakana.com/techtv
Introduction to jquery mobile with PhonegapRakesh Jha
Introduction to jQuery Mobile (jQM) - cont'd
Getting started with jQM
-Downloading the Most Recent Version of jQuery Mobile
-Proper Markup for Loading Framework JavaScript and CSS
jQuery Mobile Page Structure
-Page Anatomy: Header, Footer and Content Sections
-Header and Footer Toolbars
-Bundling Pages into a Single Document
-Navigating Between Pages
Applying Different Theme Swatches
Page Initialization Events
jQuery Mobile Page Components
Basic Content Formatting
List Views
-Ordered and Unordered Lists
-Inset Lists
-Lists with Links
-Nested Lists
-Lists with Icons or Thumbnail Images
-Split Button Lists
-List Dividers
-Search Filters
Form Controls - check boxes, slider, etc.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Accessible UIs with jQuery and Infusioncolinbdclark
Overview of accessible Web development techniques with jQuery and Fluid's Infusion application framework. This talk gives developers a primer in DHTML accessibility techniques such as keyboard navigation and ARIA, while teaching them the strengths of Infusion for building large applications in JavaScript.
Presented at 2009 Ajax Experience, Boston.
This presentation was given at SharePoint Saturday Virginia Beach 2012. The topic covers some SharePoint based solutions that directly benefit from HTML5 features.
IBM Digital Experience Theme CustomizationVan Staub, MBA
This presentation is from IBM's New Way to Learn 2016 partner enablement. The topic is an introduction to theme customization in WebSphere Portal aka IBM Digital Experience.
Presented by Allison Bloodworth & Ian Crew at the 2007 Educause Western Conference, the 2007 University of California Computing Services Conference, and the Winter 2007 Sakai Conference on December 4, 2007
Web Development with Delphi and React - ITDevCon 2016Marco Breveglieri
React is the library created by Facebook to manage user interfaces inside the famous social network. In this talk we'll se how you can develop Web applications with a highly dynamic and performing UI connected to a Web API provided by a Delphi backend.
Efficient Rails Test-Driven Development - Week 6Marakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this sixth of six classes, Wolf discusses:
- Integration frameworks (Cucumber, Webrat, Capybara, and Selenium)
- Integration testing with Selenium (advantages and problems)
- Page Objects
- Locators (Selenium, CSS and XPath locators
- RSpec Custom Matchers
- Testing for Access Control
** You can get the slides and source code from this presentation at: http://marakana.com/f/215 **
Find more videos, tutorials, and code examples at http://marakana.com/techtv
Introduction to jquery mobile with PhonegapRakesh Jha
Introduction to jQuery Mobile (jQM) - cont'd
Getting started with jQM
-Downloading the Most Recent Version of jQuery Mobile
-Proper Markup for Loading Framework JavaScript and CSS
jQuery Mobile Page Structure
-Page Anatomy: Header, Footer and Content Sections
-Header and Footer Toolbars
-Bundling Pages into a Single Document
-Navigating Between Pages
Applying Different Theme Swatches
Page Initialization Events
jQuery Mobile Page Components
Basic Content Formatting
List Views
-Ordered and Unordered Lists
-Inset Lists
-Lists with Links
-Nested Lists
-Lists with Icons or Thumbnail Images
-Split Button Lists
-List Dividers
-Search Filters
Form Controls - check boxes, slider, etc.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Accessible UIs with jQuery and Infusioncolinbdclark
Overview of accessible Web development techniques with jQuery and Fluid's Infusion application framework. This talk gives developers a primer in DHTML accessibility techniques such as keyboard navigation and ARIA, while teaching them the strengths of Infusion for building large applications in JavaScript.
Presented at 2009 Ajax Experience, Boston.
This presentation was given at SharePoint Saturday Virginia Beach 2012. The topic covers some SharePoint based solutions that directly benefit from HTML5 features.
IBM Digital Experience Theme CustomizationVan Staub, MBA
This presentation is from IBM's New Way to Learn 2016 partner enablement. The topic is an introduction to theme customization in WebSphere Portal aka IBM Digital Experience.
Presented by Allison Bloodworth & Ian Crew at the 2007 Educause Western Conference, the 2007 University of California Computing Services Conference, and the Winter 2007 Sakai Conference on December 4, 2007
Web Development with Delphi and React - ITDevCon 2016Marco Breveglieri
React is the library created by Facebook to manage user interfaces inside the famous social network. In this talk we'll se how you can develop Web applications with a highly dynamic and performing UI connected to a Web API provided by a Delphi backend.
My sldies from a talk including an intro to features, exportables, issues with features, state of features and how to implmenet the exportable and feature API
Add-On Development: EE Expects that Every Developer will do his Dutyreedmaniac
Add-Ons are what make ExpressionEngine the flexible powerhouse that it is today. Being able to write your own simple plugins or incredibly expansive modules allows you to mold ExpressionEngine to nearly any task that your website might require. However, with that power comes a great responsibility to insure that your code is not slowing down the entire site or unduly stressing the server through bad code architecture.
There are simple tools already built into ExpressionEngine and PHP that you can use to see precisely what your Add-On is doing during page processing and where it might be doing more work than is absolutely necessary. Every developer should use these to optimize their work from the very beginning of development, prior to release. This workshop will explain these tools and how you can use them effectively. It will also delve deeper into optimization techniques and tricks that will keep your code light and clean, while finding a balance between functionality and performance.
Add-On Development: EE Expects that Every Developer will do his DutyLeslie Doherty
A presentation on Add-On Development: EE Expects that Every Developer will do his Duty as given at the EECI2009 conference in Leiden by Paul Burdick, lead developer at Solspace.
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
Whether you want to add some serious eye candy to your XPages Applications or just want to do more with less code, jQuery, the world’s most popular JavaScript framework can help you. Come to this webinar and find out how you can use some of the thousands of jQuery plugins, in harmony with Dojo, within your XPages applications to create a better experience not only for your users, but for you as a developer. In this webinar, we'll look at how jQuery works, how to add it to your XPages, and how a complete JavaScript beginner can take advantage of its power. We'll demonstrate many working examples -- and a sample database will be provided.
Mit Oracle Application Express entwickelt man im Browser Applikationen, die im Browser laufen. Damit ist der Browser eines der wichtigsten Werkzeuge eines APEX Entwicklers. Beim Entwickeln mit SQL oder PL/SQL nutzen wir die reiche Funktionalitäten von IDEs (SQL Developer, TOAD, PLSQL Developer, ...) um produktive zu arbeiten. Das bauen von Webapplikationen beschränkt sich aber nicht die Datenbank. Man wird auch mit Techniken wie HTML, CSS und JavaScript konfrontiert.
Obwohl APEX die Komplexität, die diese Techniken mit sich mitbringen, zu einem großen Teil mit dem deklarativen Aufbau des Frameworks verbergen kann, desto mehr man mit APEX entwickelt, desto mehr wird man gezwungen sich mit der darunterliegenden Technik zu befassen. Das ist der Moment, dass man als Entwickler den Browser nicht allein als Applikations-Fenster, sondern auch als modernes Entwickeltool einsetzt.
Debugging, Testen, Performance Tuning, dies sind nur rein paar Möglichkeiten die durch den Browser unterstützt werden. In meiner Präsentation werde ich die wichtigsten Funktionen und Features moderner Browser, die für uns APEX Entwickler das Leben einfacher machen, erläutern und demonstrieren.
In this presentation, I presented how to build an angular JS Application with SPA in mind and also make sure you use up all the available concepts to create versatile and creative web application with less boilerplate javascript code.
A design system is a framework of practices that bring designers and products together. It is a platform to identify, and document what to share, whether a visual style, design patterns, front-end UI components, and practices like accessibility, research, content strategy.
The role of design with enterprise organizations is expanding, spreading across product teams and influencing decision-making at higher and higher levels. This scale, paired with the array of devices, browsers, screen sizes, locales, and environments, makes it increasingly challenging to align designers and developers to deliver cohesive user experiences.
In this talk, I’ll discuss the lessons learned, the challenges faced, and best practices for creating and maintaining an effective interface design system.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Customizing ERModernLook Applications
1. MONTREAL 1/3 JULY 2011
Customizing ERModernLook
Applications
David Holt
CSCW Systems Corporation
2. Overview
• Context
• D2W is awesome! - David LeBer WOWODC 2011
• Developer workflow when using D2W
• Brand new demo has examples of everything I'll talk about
• Strategies and tips for development with ERModernLook
3. Context
• Attended WWDC in 2000 and 2002 when WO still had heavy
presence and saw the WOnder release presentation
• Developer with WO since 2003
• Lone developer with additional support when necessary
• Started with WOnder - my preference is to use what exists
• Our applications are tools that attempt to direct user behaviour
as much as possible - form based, no advertising, simple and
utilitarian, minimize training
4. Our experience with
ERModernLook
• Made the commitment to start using D2W about a year ago
• Core functionality of main app took about a month to get going
• Simple data capture applications take about two weeks start to
finish
• Fast prototyping and iterations for the clients
• We have found ERModernLook is ready for client facing
applications “out of the box”
6. “Just” Determining what
the Conventions Are
• Your job is to understand what default behaviour
ERModernLook has and what frameworks are used to provide
that behaviour
• There is default behaviour where you may not expect (CSS)
• I am NOT going to talk about creating a new look, because then
you are creating your own conventions/default behaviours for
your applications to follow
7. Hopefully Conventions are
“Best Practices”
• proper subclassing of pages and components
• separate business logic from your view and controller logic
• correct editing context handling (EC per page, peer EC for edit
pages so changes can be discarded when the user Cancels)
• all string labels in the UI are localized
• data entered in forms is validated / errors displayed to the user
• PageWrapper/WOComponentContent + ERXNavigationMenu
8. Over Time, Conventions Change
1. The days only Chuck remembers (you will likely see this in “legacy” code)
Project eo = new Project();
ec.insertObject(eo);
// manually set up your mandatory attributes and relationships
2. The days that everyone remembers (you will likely see this in a lot of code)
EOUtilities.createAndInsertInstance(ec, "Project");
// manually set up your mandatory attributes and relationships
3. The current convention (you will likely see more adoption going forward)
Person user = _session._user;
Project.createProject(ec, "Write Slides", user); // constructor sets mandatory attributes and relationships
9. A brief segue
• What is D2W? See wiki for list of resources
• I found it helpful to hear it referred to as an expert system
• What does it know?
• How to build web application front ends to data stores
• It has been DESIGNED to take care of most of your front end
development tasks
10. ERModernLook is not just D2W
• ERXNavigation
• Localization
• Validation
• Object Oriented CSS
• Ajax
11. Steps for Developer
Customized
Model your Database, behaviour
Refinement (adjust UI
Customize your Default Application work flow, labels,
where necessary)
business logic custom property
components
12. Steps for the Developer (Model)
• Create or supply a Model
• how you name your attributes and relationships affects their
default labels
• user info dictionaries
• default behaviour with respect to your model is determined by
rules
13. Steps for the Developer (Login)
• Decide whether you need login handling
• If you do, you can handle where your user lands after login
• If you don't, then your Main component can offer whatever
functionality you choose
• ERXD2WDirectAction (maybe you want to give direct access to
your app via email, web link, etc.)
14. Steps for the Developer (Page)
• Choose an entity to work with
• Decide on a task. Maybe a Sub-task (wizard, tab, group, csv)
• Default page or a named PageConfiguration - default naming
conventions
• Decide on template for the page (i.e. List, GroupingList)
• Labels (you can use variables too)
• These behaviours are set up with rules
15. Steps for Developer (Page cont.)
• Is default or modified behaviour of the page template adequate?
• Make new template for this page?
• displayPropertyKeys - what attributes and relationships will you
choose to display?
• Are there permission-based considerations for things you’re
displaying on the page?
• Modify Rules, Templates, Business Logic
16. Steps for Developer (Attributes)
• Are the default components adequate? Do any customizable
characteristics need to be modified? (i.e. height, width)
• How do you plan to label them? (I strongly recommend
Localizable.strings even if you are using only one language)
• Any special characteristics apply? Custom property level
component?
17. Steps for Developer
(Relationships)
• Which component applies?
• ERD2WEditToManyRelationship is worth the effort to learn
• Likely need to modify default characteristics depending on your
number of options (checkboxes, browser, radio)
• What do you plan to use to label the items in the relationship?
(userPresentableDescription, custom business logic, a specific
attribute on the related entity?)
18. ERModernLook (navigation)
• Set up your navigation tab for the chosen entity/page
• Nice convention is something like Tab-Entity, SubTab-Task1,
SubTab-Task2
• Work out labels for the Localizable.strings file
• Set up your rules for NavigationState. Navigation State is
controlled by the page you load.
19. ERModernLook (navigation cont.)
• ERXNavigation allows you to use up to three levels of tabs
• You can do all sorts of fancy things (see Ramsey’s notes from
HelloD2W NavigationMenu.plist)
• You can vary the configuration of tabs and sub-tabs based on
stored values (tabs for no login, tabs after login)
• I use ERXThreadStorage in my session (i.e. based on a whether a
user is logged in, whether a user has permission to see a given
tab configuration)
20. Navigation configuration example
(session class)
public String navigationRootChoice() {
Person user = (Person) user();
if(user != null ) {
if(user.isAdmin()==true) {
return "adminuser";
}
return "home";
}
return "none";
}
21. Navigation configuration example
(NavigationMenu.plist)
name = Root;
directActionClass = DirectAction;
directActionName = default;
children = "session.navigationRootChoice";
childrenChoices = {
home = (
Instructions, Blog,
);
adminuser = (
Instructions, Admin,
);
none = (
PublicBlog,
);
};
22. ERModernLook (pageflow)
• Page creation logic for each tab goes in the
MainNavigationController.
• After creating a few pages, workflow issues begin to appear
• You may not need a tab for every page (i.e. some tasks can have
Navigation State left as the Tab for the Entity)
23. ERModernLook (pageflow cont.)
• You can use the “actions” key to set up your right and left
actions in Lists
• You can use ERDControllerButton in rows for additional, custom
actions
• For page level actions (such as download excel version) you can
use ERDActionBar which appears in the BottomActions section
24. How to manage the complexity?
• I have created a set of custom EOModelDoc templates that give
you generated worksheets to record some of the decisions you
are making at the entity/task level
• More importantly, the worksheets can help you communicate to
your client which property keys will be displayed on which page,
the labels that will be used, the label for the page)
• Of course you can also just build and iterate which has a very
low overhead once you get comfortable with what you are doing
25.
26.
27. CSS
• ERModernLook makes extensive use of CSS
• You can use the default skin and easily add a custom stylesheet
to your application so you don’t have to start from scratch
• You can also copy the skin framework entirely and then change
the stylesheets as much as you like
• I have begun the work of generating the skin framework with
Sass and Compass. This allows the use of variables in stylesheets
and the opportunity to quickly create entirely new skins rapidly
30. Suggestions and Tips
• Take it slow, practice practice practice- Zen and the Art of
Archery
• Limit yourself to existing templates/components at the start
(don’t forget ERD2W, D2W includes many components)
• Learn simple rules first (displayPropertyKeys, show/hide buttons)
• Learn how to configure embedded page configurations such as
ERMODEditRelationshipPage (this is among my most used
components)
31. More Suggestions and Tips
• One of my favourite threads all time was a question about how
to create a button for D2W that would create an email and send
it to users. The first response was for people to dive into how
to create a custom component, but then they realized that the
action could be triggered in the business logic.
• When it comes to creating new components, think it through
carefully.You’ll be surprised how much can be moved into
business logic using methods such as...
33. Additional things that could have
been covered
• ERSelenium (functional testing is crucial since rule changes are
relatively unpredictable until run time). See WOWODC
presentation from 2008 on testing.
• Migrations
• ERAttachment
• BugTracker - especially the Factory class
• ERCoreBusinessLogic