 |
Administrative tasks on Lablz
|
jg
|
One of the common tasks of a LablZ server adminis >>
One of the common tasks of a LablZ server administrator is to re-index resources. Till now it was possible to submit this operation online running
a url /text/index/resources?... in browser and waiting for a result. But allowing to start indexing tasks outside of scheduler control can potentially create a havoc.
To amend this it is now required to prefix the url with
"/job"
, for indexing it will become /job/text/index/resources?.... . Effect of this would be replacement of a direct immediate indexing task invocation for a user job submission controlled by the scheduler. Any attempt to invoke indexing using old url will be rejected.
.
|
15:48 |
 |
Hidden Control Panel via secur»
|
sw
|
I have added @hideControlPanelInView from some cl >>
I have added @hideControlPanelInView from some classes which prevents newbie guest from seeing powerful but alas confusing parts.
The downside is now have no simple method to add attachments to resources.
Would it be better to make hiding it a security feature instead like allowRoles does for properties?
Or is there already a better method?
|
05:04 |
 |
always show parent in mkResour»
|
sw
|
Could you always show parent in the create dialog >>
Could you always show parent in the create dialog?
It will always default to the current tab otherwise with no way to change it.
My workaround is to remove tab and dash from the url before calling this create page which then shows parent in the property list
|
04:57 |
 |
editing in RTE
|
sw
|
Editing in RTE is very good as long as you can st >>
Editing in RTE is very good as long as you can stretch the edit box to the width your final resource will show on a blog view resource list or ROP.
I found a couple of tricks to help:
1 in chrome and FF whilst viewing the resource in a resource list hold Ctrl and click on the resource. This brings up edit mode as a full page instead of half page (IE misbehaves with extra windows or tabs using this trick)
2 in chrome go to edit tab as normal and if the resource has another text property such as Tags you can drag that form input to be any size and it also resizes the other properties allowing full page edit :-)
Edit mode would be better if it automatically grew to full width but it depends on the zoomed widget page or the resource list or the ROP as they will all have different widths, so these methods give the user better control for wysiwyg.
|
Aug-27 |
 |
ROP widths
|
sw
|
The recent work on many aspects of lablz are maki >>
The recent work on many aspects of lablz are making it easy to create a stunning looking site!
The new relatedTo listing in ReadOnlyProperties opens many opportunities and will soon require more space.
Ads will also impact on ROP space.
Viewing a text laden resource
like this one
also highlight problems; there is too much text on a line to speed read and it doesn't look very elegant wrapped around Related
This resource
has been modified to limit the width and is more natural and quicker to read, nicer to look at and frees up Related to grow in height.
Could the Description view show as a fixed width?
|
Aug-26 |
 |
show Image description below i»
|
sw
|
image resource already has description property. >>
image resource already has description property. Would it be possible to include this text directly below an image if the property is not null?
|
Aug-26 |
 |
bookmark tooltips
|
sw
|
widgets and tabs on a dashboard would benefit fro >>
widgets and tabs on a dashboard would benefit from a tool tip at times, such as "click here to see the whole list of features" or "click here to see the dashboard".
If a comment has not been written for the class could bookmark.notes be used for the tool tip?
|
Jun-13 |
 |
could relatedTo be given some»
|
sw
|
relatedTo is a great tool with all manner of uses >>
relatedTo is a great tool with all manner of uses but could do with some controls. Here are some examples
related to
a site such as Floordata:
per class stop words
depending on the context of a class you might want to stop different words
filtering
for advertising you would only want paying companies to reach relatedTo
sorting
ideally you would want the relevant class results shown first, in a product search you would want those paying supplier companies at the top maybe followed by reviews or articles
if sorting is not possible due to ranking, maybe there is scope for multiple locations of relatedTo widgets on a RL or ROP
viewCols
for ads you might want name and phone number or a logo/image, you may also want to go directly to the supplier website instead of via a ROP for that supplier
|
Jun-12 |
 |
showing more props while in a»
|
sw
|
Not a request for now, but thought I'd share this >>
|
Jun-09 |
 |
auto change widget
|
sw
|
Would it be possible to create a widget that can >>
Would it be possible to create a widget that can refresh and show new content as either a resource list or a single resource?
It would need to offer various modes of display; scroller, fade in/out and ticker.
This would be used for advertisements, news reels, upcoming events.
Here are some examples:
a single resource fading to the next (in this case an image) is
Dell's ad banner
a news horizontal ticker for a single resource maybe like this on
scriptocean
|
Jun-08 |
 |
class specific stop words for»
|
sw
|
some words such as All, Product, Service, etc are >>
some words such as All, Product, Service, etc are common in company names and can spoil the Related list of resources.
Would it be possible to make Stop Words class specific?
|
Jun-07 |
 |
monitoring, profiling, tracing»
|
gv
|
need for performance analysisThe need. Declarativ >>
need for performance analysis
The need.
Declarative nature of Lablz Web Apps requires better debugging tool. We currently trace into error.log and this file gets huge and hard to read. In the past we added indispensable Dev zone menu to see only the log for the last HTTP request, sql log for the last HTTP request and stats for queries that hit or missed the cache. But we need better a much way to assess the performance, discover slow and inefficient queries, analyze cache effectiveness, discover exceptions and debug the DAV to SQL mapping.
performance as a standard data source
We have recently cleaned up the Profiling tool which shows WebDAV queries grouped by class. We redesigned Profiling tool from being a custom made HTML generator to producing normal DavResources and utilize the standard resource list painter. This cleaned up the presentation and the code so much that it gave us the idea of fully transforming the unstructured source of data (error.log) into a structured data source using Lablz core DavServlet plugin architecture. Thus MonitorDavServlet was born. New monitoring tool will add the ability to analyze XHR (Ajax) requests, ability to see previous N
HTTP requests, drill down to an individual WebDAV query level and even the ability to re-execute the last WebDAV query collecting the resulting SQL log.
QA, support and other uses
What is amazing is that as performance data becomes structured data the other possibilities instantly open up. These are a couple we thought up:
-
testing framework can use monitoring stats to discover bugs automatically. Initial ideas: execute all bookmarks on every host and compare the number of SQL queries, number of cache hist and misses with the baseline. Also compare the execution time to timely discover performance regression.
-
instant problem indicators. We will place a couple of icons in a visible place (near Home menu or as a badge icon on top of it) to indicate an error which might otherwise be invisible, a presence of a slow query and other exceptions.
-
automatically collect current state of the system at the bug submission time. This can be done by producing .csv backup of monitoring resources and attached to the Bug resource in Lablz CRM. This can be further automated much like Ubuntu bug submission tool which collects system info on behalf of the user. The developer can then load these .csv files into his system for analysis.
Most of the initial development has been done and Dev Zone menu already contains a link to Monitoring. Please review and submit your comments and ideas.
Implementation notes:
-
we begin collecting monitoring info on the first request to /monitor location. That means the stats will start accumulating only after your first click on Monitoring link in the Dev zone.
-
we collect info on an HTTP session. This means you will see only your own requests.
-
data on the last 10 requests are kept in memory, no extra disk operations are performed
|
May-26 |
 |
generate image depicting each»
|
gv
|
It is hard to distinguish between color scheme re >>
It is hard to distinguish between color scheme resources just by their names. Imagine we will have dozens and even thousands of them. When ColorScheme resource is added we can generate an image that shows its primary and secondary colors. We can create a small image as a pie chart and larger images like a colorschemedesigner preview square that shows all primary and secondary colors.
Implementation details:
-
ColorScheme class must implement ResourceImage interface
-
create a GenColorSchemeImageServlet that generates png (or jpeg) images for a given ColorScheme resource URI. This servlet should then issue PUT to upload generated images to the ColorScheme resource and after that set its originalImage, mediumImage, etc. properties.
-
add NotificationPhase handler that will submit GenColorSchemeImageServlet as a delayed job.
|
May-14 |
 |
do you ever wish there was an»
|
sw
|
Initially I was thinking of this for layout chang >>
Initially I was thinking of this for layout changes; you delete a widget accidentally or save over a bookmark by mistake (all pilot errors), or you are simply experimenting with a specific layout. In traditional html tools you might save a version or the tool will generally have undo history. Making small layout changes are a one way process in Lablz unless you keep a copy set of bookmarks; there's no going back.
You might think of other uses for undo or rollback.
|
Apr-22 |
 |
ability to change cols in back»
|
sw
|
The ability for the user to change the backlinked >>
The ability for the user to change the backlinked resource properties shown would on ROP would be useful.
This will be important for FloorData site soon.
In this example
I would like to show the phone number and maybe website link along side the supplier name
|
Apr-21 |
 |
add readonly (non-editable) wi»
|
sw
|
Would it be possible to remove the widget flip an >>
Would it be possible to remove the widget flip and grabber for users without the rights to make changes?
|
Apr-21 |
 |
Search improvements
|
gv
|
Lablz continues with its strategic direction of m >>
Lablz continues with its strategic direction of making Search a center of user experience in any Lablz App. Many changes
were pushed to current 3.4 build, others will show up in 4.0.
New Search features
We have added spell checking (language independent), word stemming (English only for now), autocomplete in Mobile mode (soon will show up in desktop mode as well), and word pairs for autocomplete (shingles in Lucene-speak). A day ago we enhanced each autocomplete word with icons of related classes. We continue to optimize the Search (just shaved 200ms by reader caching) and improving the presentation layer. We are also fine tuning Filter after Search so that novice users have a way to drill down after a simple text search.
Automatic reindexing upon upgrades
This rapid rate of changes has created a problem. Quite often new Search features require changes in the index structure and this breaks Search on all developer, test and production machines until full re-indexing is done on every virtual host. This was a manual process until yesterday. Now Search index incorporates a version number and at the server startup the job
index resources
will automatically reindex those hosts which have an old index structure. Keep in mind that this job may take a long time on hosts with lots of data. We will make changes in UI so that when user attempts to Search the host which is being reindexed a nice message will be issued. It is worth mentioning here another indexing job
index for autocomplete
which recreates additional indexes used by autocomplete. Unlike all other Searches which usually pick up newly entered/modified data in about 10 seconds after submission, autocomplete needs a long time to digest all changes and thus it is done today only once a day.
Forcing reindexing
Sometimes it is necessary to force reindexing of the specific host. It is only required if something broke down in otherwise fully automated indexing process. Hopefully you will never need it, but if you do then look for a file named
indexVersion
in tmp dir under each host. Deleting this file will force re-indexing of this particular host at the next server restart.
|
Apr-19 |
 |
in 3 years desktop will be irr»
|
gv
|
At least this is whatJohn Herlihy of Google Europ >>
At least this is what
John Herlihy of Google Europe
says
. See an
interesting article
on a platform shift to Mobiles by former startup evangelist at Microsoft and now Google's Developer Advocate Don Dodge.
Things are heating up in Mobile space. Google recently announced the change in strategy called
Mobile first
. Google will now release new products first for the smartphones and only later for desktops.
The upcoming Lablz 4.0 targets Mobiles head on. Lablz has built mobile solutions since 2005, but 4.0 release marks a shift to Touch UI and making most App functionality available equally on Mobiles and Desktops. It seems it will be one of the last Lablz releases when Mobile is playing catch up with the desktop. As number smartphones with real Web browser outpaces number of PCs and with Web Apps gaining access to device capabilities such as GPS, Camera, Sensors, etc. Mobile Web will become more powerful and a lot more attractive to Web developers than the Web viewed from the Desktop browser. Until now only native Apps had access to the device. We tried to remedy this with
Bhoost
, and others, like PhoneGap, Big5 tried to give Web Apps native reach, but this effort although open sourced was fragmented as it lacked standardization and reach.
Finally standards are catching up. W3C is readying its
Device APIs
spec, while BONDI publishes its
Device JavaScript API 1.1
. And looks like the whole Mobile industry is consolidating around
WAM
- a joint venture of 24 mobile operators.
WAM pledges to work with W3C
and plans to deploy Web widgets on 3 billion devices through a joint Widget Store. WAM is a result of a merge of two leading Mobile Widget standardization groups
JIL
and
BONDI
. This means
Nokia WRT Widgets
,
Opera Widgets
,
Blackberry JIL Widgets
,
Verizon JIL Widgets
,
HTC/Huawei/Lenovo JIL Widgets,
LG/SAMSUMG JIL Widgets
, will have one spec and even one Widget runtime certification mechanism. Looks like Palm's WebOS popularized the idea of
Widgets as Native Apps
and this approach will be entering the mainstream in the next 2-3 years, pending major consolidation as there are clearly too many
widget engines
. Widgets are attempting to achieve what Java ME was trying to do for a decade - create a universal global deployment platform for mobiles.
Apple with Mobile Safari on iPhone opened the Web for small screen underpowered devices. For 3 years
WebKit
was the only game in town for Mobiles. Now
Firefox on Nokia 900
,
screaming fast new Opera 10.5
and once the only real Ajax browser for Mobiles
Access's Netfront
coming back from the dead - the competition for Mobile Web browser (which may be now marketed as a Widget engine) is beginning to heat up. With the W3C providing Web
Device API, Widgets 1.0 for packaging, HTML5 for elevating Web Apps to Native Apps and the WAM's industry support - the road is paved to Web Apps to begin their march on Mobiles. And this is great news for Lablz developers - their unwavering belief that Web Apps will win against Native and Flash-based apps for Mobiles and Desktop is set to begin paying off.
|
Mar-07 |
 |
Allow Watch on a different sit»
|
gv
|
Lablz Publisher requires to watch stock on a term >>
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
|
Feb-19 |
 |
Re-generating Papinet messages
|
emk
|
Sometimes papinet message was not generated becau >>
Sometimes papinet message was not generated because of some errors in Order (for example transshipment point should have been Verbrugge, but instead it is something that was not recognized as Verbrugge). When Order is fixed papinet message should be generated anew in order to sent it to the client.
In order to do that:
-
Login to Verbrugge host
-
execute the following URL:
[verbruggeHostUrl]/export/edi/import/[newpl]/fileName?name=PapinetContainerTransport&target=papinet
|
Jan-15 |