| |
|
|
2.2p18d |
first version with RTS alerts for resource modifications. Also includes UI for Watch (but no alerts for Watches yet)
More...
|
| |
|
|
3.1 |
- This release includes enhanced interactivity (ajax-based). For example all data entry screens are shown as popup dialog on current page.
- Greatly enhaced JavaScript-based scripting. Now JavaScript rules can be added on a class, not only on a property. Functions with names onCreate, afterCreate, onUpdate, afterUpdate will receive control before and after the creation and modification of the resource of this class.
- New Transaction caching
- New non-Transaction (shared) caching
- Various speed optimizations - most notable among them - autoTotals. Autototals calculate totals incrementally without going through resources in database using SQL SUM.
More...
|
| |
|
|
3.2 |
User Interface (UI)Usability, speed and mobile devices (using Web 2.0 AJAX techniques)- AJAX creates desktop-like experience and has the following goals:
- simplify User operations
- preserve User's context by avoiding page transitions
- achieve UI speed close to Desktop UI interactions
- greatly speedup UI on Mobile Devices
- Allows to fit smaller screens
- added tabbed UI utilizing improved Property Groups.
Property groups are evolving. They look like viewCols now, so no dependence on sequence of props. They allow to define an icon and will be getting more annotations. Property groups (previously used only in Create/Editmode) are now used to define Tabs in Control Panel and (soon) in View mode. Edit mode is a Tab itself - avoiding extra turnaround to the server and giving user immediate screen repaint on click. It was also never clear for a User where to find Edit button. Now it is up in the front.
- improved Dialogs and used them pervasively in many aspects of UI
- redesigned and greatly improved RTE (to allow MS Word-like text editing). New RTE has flexo-wrapping-toolbar. It works in popup Dialogs and will hopefully soon get the image paste function. This by itself is a great time saver for reporting bugs: just Prt Sc (or Alt-PrtSc) and paste in RTE. There will be no need for MS Word doc attachments anymore.
- simplified date chooser and date filter
- greatly enhanced Schedule Grid functionality (various cell markings, calendar chooser, paging by month or 2-weeks, etc.)
- greatly increase Schedule Grid speed and usability
- integrated Calendar (day, week, month, year) and Gantt Chart with Schedule Grid
- Filter: improved numeric and duration ranges (better detecting edges)
- Resource View: moved blue box to Communications tab. Made all links in this tab open as Dialog
- Limitations: some error messages still need to be switched to AJAX, e.g. deleting resource with dependencies, general help
- Added one-click access to User Profile and Inbox
Web on Mobile devicesChallenges: Web Browsers on Phones are different from Desktop Browser. Besides, screens are smaller and Mobile devices use pen or joysticks instead of a PC mouse.- Various automatic adaptation techniques were added to make sure developer does not need to worry about screen size and absence of mouse.
- certified for Opera 8.02, 8.54, 9.02+ (Opera is found on many mobile devices. As added bonus - Desktop Opera is now also supported)
- certified for Linux Konqueror, Nokia's S60 Browser (as tested on Nokia e62 mobile phone, but should work on any 3rd generation S60 Phone)
- modified UI to allow pen-based operations of Mobile devices (no double-clicks, ctrl-clicks, etc.)
- changes to make UI more compact for 800x480 resolution (Nokia 770)
- changes to make UI more compact for 320x240 resolution (Nokia e61, e62)
Database
Existing Mapping to SQL has been improved. - added support for parameter annotation
- improved vocabulary (Schema) evolution
- detect incompatible schema changes. Allows user to run backup,confirm data loss (via 'ant loadforced') and then restore backed up data
- avoid data loss by manually indicating that property changed name (oldName annotation)
- added another cascading mechanism (via cascadeTo annotation). For example, this allowed allowed group adjustments - one Bar adjustment on Ticket is automatically propagated to all existing BarItems.
Data Export- improved Papinet delivery message export
- added support for cancellation and replacement of Papinet messages that were already sent out (This required clever detection of cases when data already sent via Papinet were updated online or via imported documents).
Multiple-languages
Improved data entry and viewing with multiple languages on one page
All html pages are now generated in Unicode (UTF-8), RTE is switched to Unicode, HtmlCleaner now support Unicode. Optimizations- significant CPU speedup, especially on resource lists (felt most on SaveInExcel)
- listbox speedup - requesting smaller number of resources
- improved Shared and Transactional Caching (avoid database I/O by covering remaining cases when modified/created DavResources were not moved from transactional cache to shared cache)
- improved JavaScript popup and dialog opening (speedup most noticeable on slower Mobile devices)
Developer Tools
Complied with Netbeans IDE ant target names convention- added ant build (now same as ant compile)
- ant rebuild renamed into ant reload
- ant rebuild (now same as ant recompile)
- ant clean (now same as ant cleanup)
Created new Developer cornerThe dev corner (right top corner of the page) will constantly expand to include tools for Web Masters/Web Builders to easily build applications using the simple code-behind-the-page and copy/paste/tweak approach. - show code behind the page (vocabulary, JSP templates, menus)
- show SQL statistics
- show Cache statistics and Cache management tools
- Browser-based Log viewer shows the log for the last user request (or log subset including only SQL statements)
- show SQL & Cache stats for last AJAX request
- Log viewer for last user request that ran via AJAX
Increasing server uptime
Allow more changes without forcing server restart- adding host without server restart
- adding new classes - davBeans are generated and compiled automatically and loaded into the server without server restart
- no need to restart when changing viewCols, adding backlinks, changing annotations - anything that does not effect SQL mapping
- several means to apply changes and inform the server
- voc changes made in IDE (like Eclipse, NetBeans) are applied automatically upon IDE build operation (e.g. ctrl-b in Eclipse).
- voc changes made in text editor can be applied using ant build (automatically informs a server if it is running)
- issue /meta/reload in browser for hosted applications
Vocabulary Syntax migrates to JavaSimple RDF syntax notation that we introduced in UniversalPlatform v2.0 undergone changes with the aim to become 100% Java (based on Java 5 new capability - Java Meta). - As a first step VOCDOC is generated in a new syntax
- By next version (v3.3) we plan to fully migrate .hf files to .java
Added Vocabulary patternsPatterns allow to condense the vocabulary definitions and make them much simpler. - Totals click-through. When backlink props match numeric or Money propnames (e.g. barItems and barItemsTax, retailItems and retailItemsTotal) the total will automatically acquire the link for click-through. E.g.in class Customer retailItemsTax pattern matches retailItem backlink property in Customer class and tax property in RetailItem class.
- Auto-generated formulas toSUM-up and COUNT totals. E.g. barItemsTotal - SUM up barItems by their total property. Useful in any business app where lost of totals are calculated.
Security- Enhanced security for multi-company collaborative environments. Smarter on Watches & Subscriptions - making sure that only people with right credentials get Alerts.
More...
|
| |
|
|
3.1 |
|
More...
|
| |
|
|
3.3 |
Widgets
Modern information systems often puzzle their users with multitude of choices. How to navigate the system? Which direction to take? What does all the information on the screen mean? How do I find what I really need? It may take years to get used to a software product and often only a small subset of its features is ever used.
This release of LablZ UniversalPlatform and Applications aims to face this challenge heads on.
How? The one word answer is: Widgets. This release offers Widgets as the new User Interface paradigm. Widget is a small chunk of the screen devoted to one task. Simple, focused and targeted to one function. A set of widgets on one screen form a dashboard. Like in your car you see at a glance how well your business mechanism is operating. But unlike your car, you can have dashboards for everyday use and for weekly meetings with the boss,dashboards for operational stuff and analytics, for desktop use and for Mobiles. So get ready for a treat since all LablZ Application Interfaces in this release were redesigned via the use of Widgets.
Technical highlights.
Just do a text search on
widget*
in our CRM to see the multitude of widget-related features added in this release and the how Widgets made us rethink the UI. Widgets can be bookmarked. Lists of Widget bookmarks are combined into menus, tabs and dashboards - all of which can be changed with the click of a mouse. Even the Vocabulary is now represented as Widget Gallery from which menus are assembled. Many former reports are now automatically enhanced by correlated reports presented in Widget sidebar. This allows novices to discover the parts of the applications that were previously hidden from view. Read up to see how widgets are part of many other improvements in this release.
Blogs
Blogs are a new medium on the Web, drastically changing journalism and redefining global collaboration. As much as Blogs have affected the social landscape, the Enterprises had so far no way to tap into their powers. With this release LablZ presents an Enterprise Blogging capability that brings collaboration to a new level both within the organization and between its partners. Blogging shows all diverse and complex information produced in your Enterprise in one clear and simple chronological view and greatly simplifies submitting feedback.Yet this is not the end, LablZ Blogs usability is further enhanced by its sidebar Widgets.
Technical highlights.
Blogging capability was completely integrated into the UniversalPlatform -making it available for all applications that run on it. In essence: any list of resources that is open for collaboration (CollaborationPoint) can now be viewed in a Blog View. Blog view allows to see CRM, SCM resources, such as Issues, Orders, Invoices in a view that shows discussion topic and communications heads up.
Mobile Devices
We all are in the middle of the next tectonic shift in computing. Last time it was the advent of PCs, then the Internet. The change this time is in Mobiles. Mobile phones are rapidly advancing to become the computer people use most of the time, while resorting to desktops only occasionally. As our customer would have expected, LablZ is swimming with the stream of time.
Thus this release adds support for iPhone.
To be accurate, LablZ UniversalPlatform was providing Mobile support for several years now.But until now the complexity of its use was only suitable for the enthusiasts. This release marks a major change. Now any user of LablZ Applications can use them on the go. iPhone user has now his most important business information only 3 clicks away. All Application pages are automatically formatted to fit the iPhone.
To make it even more convenient for Mobile user, LablZ is introducing a Mobile Desktop. Mobile Desktop contains only those items that user specifically designated for use on the go. Mobile Desktop is configured using the Browser on the desktop computer. When user returns to his desktop he can see the same data in expanded view on a bigger screen.
Technical highlights.
Two new technical capabilities contributed to an iPhone support in this release: iPhone list view and Widgets. Most lists now have another, more compact "iPhone" view. This applies to both the Dashboards and all resource lists. It also applies to data entry screens. Widgets have turned out to be are a perfect way to present information on next-generation phones, like iPhone. The mobile user will be happy to see his desktop Dashboard Widgets on the mobile device almost unchanged.
Performance
Our customers expect performance improvements in every new release. This release makes major advances in performance. LablZ engineers understand that users not only want pages to load faster, they want the system to do more for them in the same amount of time and with less effort on their part. The performance boost in this release allowed us to do exactly that. Users of this release will see the addition of sidebar Widgets to many LablZ pages. Sidebar widgets intelligently add information related to the main content of the page. Sidebar greatly improves usability for new users. New users do not need to search the system for the information, instead relevant information comes to them. This also makes all LablZ Applications more powerful for advanced users.
Technical highlights.
Some performance improvements were possible are due to improvements in our internal algorithms, others are the result of taking advantage of new technologies: even more pervasive use of AJAX technique(resulting in less page repainting): reduced page sizes via more consistent use of CSS; reduced link sizes via adding URL parameters upon user clicks; introduction of tinyURL technology (based on bookmark id); JavaScript techniques, such as Drag And Drop, Copy and Paste; server-side improvements in caching and text-indexing and much much more.
Time management
Businesses are always struggling with time pressures. This UniversalPlatform release allows users to lift much of the pressure off the shoulders of your managers and shift it to LablZ Applications. Let the system organize, keep track of all the business activities, facilitate meetings, streamline order processing, improve production planning and optimize delivery scheduling. Let you be a good guy and let the system bring in line all the laggards who did not comply or did not pay on time.
Technical highlights.
Major improvements were made in all types of screens that show resources on a time grid, especially the Schedule grid. Schedule grid acquired better navigation using built-in popup calendars, allows moving items between cells using copy/paste and has improved color coding for packing information more tightly. Time grids (calendars) show all the activities for a certain period or activities related to a certain Event, Workplace, Project, etc. They also show you activities related to a certain person (employee or a customer) or a group of them. In some respect time grids are just lists of resources put on timeline, so you can filter and search the way you did before, but now see the data in a new light.
Scalability, Robustness and Availability
This release brings major improvements in the area of Scalability,Robustness and Availability. It opens access to a greater number of users, increases safety of data and improves the uptime. These improvements were engineered to take advantage of a new hardware base to which many LablZ Applications will be migrated in the future. The new hardware base offers higher network bandwidth, reliable backup storage and on-demand availability of new server machines (we can now bring up a hundred new servers within 30 minutes, should the need arise).
Browser support
For several years now there was only one browser that mattered to the Enterprise - MS Internet Explorer. The picture has changed in 2007 and will change more in the next 2-3 years. iPhone has a powerful Mobile Browser, called Safari. Safari is a default browser on Apple Mac and is a mature and an extremely fast browser. LablZ Mobile Desktop combined with iPhone's revolutionary multi-touch screens makes Web business applications simple now even for new users.
Technical Highlights.
Widgets and mobiles place extreme pressure on vendors for supporting a larger variety of browsers. LablZ stood up to the challenge. This release equally supports Opera 9+, Safari 3+, Firefox 2+, IE6, IE7, Konqueror 3.5.3+.On mobiles: Nokia's s60 browser (WebKit-based) and Opera Mobile 8.5+are now supported.
Security
This release presents many advances in making LablZ UniversalPlatform more secure for its users. It makes LablZ UniversalPlatform more open for collaboration yet more secure in the face of increased hacker activity (such as Spam, Viruses and other types of attacks). Major advances in security allowed LablZ to provide more functionality while tightening the defenses against the misuse. For example, users of this release will see the new type of more open multi-organizational workflow, called Enterprise Blogging, which would not work without new security methods introduced in this release.
More...
|
| |
|
|
3.4 |
Performance
This release increases Dav cache performance by more intelligent cache invalidation.
Mobile
Major work to polish UI to achieve smooth experience on iPhone, Nokia s60 devices and Opera Mobile devices. Support for true Mobile Widgets (iPhone, s60 and Opera Platform), installable on the device and accessible even in offline mode.
Scalability
Major development in this release is UniversalPlatform Cluster. UP Cluster utilizes intelligent load sharing by distributing requests for one host across multiple server instances. Shared transactional cache is implemented.
Browser support
Continued effort to support all major browsers and their mobile versions.
More...
|
| |
|
|
4.0 |
Major user interface redesign for Touch screens, initially targeting iPhone, Palm Pre, Android mobiles but moving towards Touch screen on desktop and notebooks as well.
More...
|
| |
|
Feb-19 |
Allow Watch on a different site and on bulk load |
Lablz Publisher requires to watch stock on a terminal's site. Also stock is loaded from electronic documents and today we only allow to place a Watch on resources entered/modified online
More...
|
| |
|
Dec-29 |
my Lablz / tags |
If I'm interested in one or some resources I can create watches or bookmarks, which is great. I can add tags to resources, but they aren't personal.
What if Taggable allowed me to have personal lablz / tags (like gmail labels), I could then mark and find resources I am currently interested in. If this becomes of interest to others I could make my tag public.
The tags could be managed via the user control panel. For simplicity users should be able to tag multiple resources via RL.
More...
|
| |
|
Dec-28 |
add 'Mark as read' action |
For TrackedRead resources we need extra Actions. This should work like in Webmail. We need to be able to mark all resources in RL as read, or mark certain resources as read - this should work like existing delete action. On resource view page we should have action 'mark as unread'.
More...
|
| |
|
Dec-26 |
Grid with column number adjusting to screen width |
Mobiles and netbooks create the need to have a grid with variable column number. Otherwise we force users to do horizontal scrolling.
we need this in:
-
RL grid layout
(painted by GenericCustomizer.java)
-
-
image gallery application on iPhone. When iPhone is turned to landscape position grid should readjust itself.
-
'add from gallery' on small netbook screens
-
Full Text search results when we display Categories
(painted by ResourcesSearch.java)
-
Control Panel
This site
shows how to do it by replacing HTML Table with CSS grid. Note: try to change the width of browser window and see this grid above behaves.
More resources:
smart columns
image gallery on iphone
dynamic resizing of divs for multi-column viewing
More...
|
| |
|
Dec-19 |
optimize front end |
We need to continue optimizing the front end. Here is some areas of work:
-
Do not set cookies for image serving domains. Firebug PageSpeed test says that Lablz home page load 40K of cookies just on images served from i.lablz.com, i1.lablz.com, etc.
-
Increase image load parallelism by defining more image domains (i3.lablz.com, i4, i5 etc.). FireBug PageSpeed test tells us we should do that. I think we have to add logic to use this pool of servers conditionally if request came from the modern browser, like IE8+, FF3+, Chrome 2+, Opera 10+
More...
|
| |
|
Dec-04 |
Redesign resource list for Touch UI |
make rows wider
increase font sizes
remove alternating row shading
add thin line to separate rows
highlight current row under mouse cursor
More...
|
| |
|
Dec-04 |
Redesign menus for Touch UI |
Make look and feel of desktop menus and mobile menus almost identical - with the exception that desktop menu shows up as a dialog.
-
redesign Tab menus
-
redesign Add/Remove/Rename Tab
-
redesign Bookmarks Menu, Language
-
redesign Time/Calendar reports menu
-
redesign File menu (shows up as large icon left to Search field)
-
redesign Source (Dude) menu
As additional benefit of this redesign new menus will be loaded on-demand making each page much lighter. But this requires adding capability to cache menu pages on browser-side (today non of our AJAX responses is cached). Also, menu pages must be added upfront to Offline Application Manifest.
More...
|
| |
|
Nov-23 |
href target options |
Would it be possible to add a property to href which allows the option of setting the target (parent, blank etc)? This would be useful to your originating page and also if a lablz site is embedded.
More...
|
| |
|
Nov-09 |
Narrow the text search context of some classes |
Bookmark classes and Voc UI classes should not be returned by text search along with other business resources. They confuse users. On the other hand we need to have the ability to search them separately. So, let's introduce a new class annotation, e.g.
textSearchContext
. Classes without this annotation will be considered to be in global site-level context.
Implementation notes
indexing - add field
searchContext
search - if class has textSearchContext annotation then add extra
searchContext
parameter to search query.
More...
|
| |
|
Oct-14 |
Sort Filter props based on popularity |
Touch UI has less real estate for Filter properties, so to avoid scrolling we need to show the most used props on the top.
Possible approaches:
-
we could need track which props were used on every Filter submit. The drawback is that the statistics will accumulate only after users will perform a decent amount of Filter searches. Another drawback is that this approach does not eliminate properties that are never set.
-
we could maintain statistics of which properties have more values. On any particular site only a subset of properties of a given class have values. And even among those that have values some are always set, while others are rarely set. The properties with higher number of values should be shown on top. Those that have no values can be skipped altogether.
Implementation notes
We could use ClassUsage resources to accumulate the property use statistics. Alternatively we could use new WebProperty class from Vocabulary UI component.
More...
|
| |
|
Sep-29 |
Extend security for Holding and its members |
Introducing Parent organization in ExternalOrganization class to be able to handle requests from Holding WebSite to Partner WebSite.
The problem is the following:
Partner site does not have resources where Holding organization is referred to but instead it has resources where member of Holding organization is referred to.
There are two types of requests in this case:
1. Request from representative of Holding organization should be able to see resources which referred to all member organizations
2. Request from member organization should be able to see only resources which referred to this organization.
More...
|
| |
|
May-10 |
improve language translation tools |
Today we allow user to translate any word on page. User switches to the desired language, selects the word (or several) while holding ALT key - and the Translate dialog pops up. This approach is easy and has a major advantage of showing the context within which the translation is made. Context is essential for accurate translation. But it also has a set of major problems:
-
Word boundaries are not shown. Most of the times individual words should be translated separately. But sometimes several words must be translated together, but user has no way of seeing the beginning and the end of the sequence. Only developer searching the source code can find that out now.
-
Some words are left untranslated since they are easy to overlook. This leads to many unnecessary interactions with the end users especially in case of legal documents. like invoices or order confirmations.
-
It is impossible to obtain the list of things that require translation. If that was possible the translation could be done upfront before the new release is out. This is a norm in other software packages.
-
There is no advance warning to developers that some changes in code or JSP templates exposed untranslated items. Again, this tires the users as Lablz software is evolving rapidly and often new words and their combintations are introduced. Possibly this is not a huge problem as advanced user will now be able to translate themselves - as #1 will no longer be a problem.
Here is an idea:
-
Let's compile a list of words or word sequences per-page and provide a UI control which will indicate a number of untranslated items. This control when clicked should present an edit list of Translation resources. May be a language switch control can be used for this task.
-
Let's also compile the list of words or word sequences for the whole site. This list can be accumulated since last server start. UI control for this task can be a sub-control of #1.
More...
|
| |
|
May-07 |
changes comparison |
On big write-ups (Gene's forte) it's especially difficult to see what's changed when an update is made.
Would it be possible/desirable to adopt a
wiki style
of tracing changes for text properties?
More...
|