Core Dev

Important: Grammar changes as of 05/17/20017

In order to fulfill the advices of Xtext some keywords were changed. Xtext advices not to use keywords containing blanks. Therefore the following DSL grammars changed from blank separated to camelcase style: - Datatype as primitive => asPrimitive as blob => asBlob - Entity mapped superclass => mappedSuperclass If you use these keywords in your models, you must apply the changes to get valid models again after update.

0 Replies

by joerg

Display of article description

I would like to match the article number to the name of the article on a dialog box (field is not editable) The grammar of the dialogue gives me little meaningful ways to specify fields. The "autowire" and "view" probably do not help here - the manual does not help me any further. Do you have a good example?

5 Replies

by Jörg K.

hard copy

I would like to add a hard copy of my forum contribution. How does it work?

1 Replies

by Jörg K.

Grid with data input and enter

I need a grid with data input - an enter closes the input and jumps to the next editable field. Is there something like that?

1 Replies

by Jörg K.

New event for statemachines

Statemachines working in combination with UI model can exploit a new feature of the component SuggestText. The SuggestText-component will send an event "onSelection" as soon as the user picked an entry of the popup list. FiledName must be a field definition of the controls section of the statemachine model. The first letter of the name is capitalized to meet the camelCase naming convention. E.g. the field "foo" which is bound to a SuggestText component will emit the event "setFooSelection" Using this event in a statemachine can trigger an action after a user selection of a SuggestText-popup-entry for further processing.

1 Replies

by joerg

Launch my1app - an error has occured

What is the problem here? java.lang.RuntimeException: Error initializing storage. at org.eclipse.osgi.internal.framework.EquinoxContainer.(EquinoxContainer.java:77) at org.eclipse.osgi.launch.Equinox.(Equinox.java:31) at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:295) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438) Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) at org.eclipse.osgi.container.ModuleDatabase$Persistence.readWire(ModuleDatabase.java:1168) at org.eclipse.osgi.container.ModuleDatabase$Persistence.load(ModuleDatabase.java:1028) at org.eclipse.osgi.container.ModuleDatabase.load(ModuleDatabase.java:879) at org.eclipse.osgi.storage.Storage.(Storage.java:145) at org.eclipse.osgi.storage.Storage.createStorage(Storage.java:85) at org.eclipse.osgi.internal.framework.EquinoxContainer.(EquinoxContainer.java:75) ... 11 more An error has occurred. See the log file null.

1 Replies

by Jörg K.

Default Localization

The Default Localization should be German - how is it adjustable?

1 Replies

by Jörg K.

CSVtoApp ... Column limitation?

A CC article pool (article.bag) with all columns of the parameter table can be imported. All columns with content are displayed in Eclipse - but the Create App button does not work. Only when many columns (here from letter b) have been deleted does the button work and the entity is created. Is there a limit? And could the program give a meaningful message if it does not work?

1 Replies

by Jörg K.

Duplicate translations

Each DSL and some other bundles come with a set of dedicated I18N property files containing translatable items and the preset amount of target language translations. Each language has its own key-value pairs. The keys are derived from element-ids or other designated translatable strings inside a DSL grammar. All bundles of a product's target platform are scanned for those property files at startup of runtime and translations are cached inside the DSLMetadataService for fast access. By the way, DSLMetadataService also holds the models of all DSL for reference at runtime. Occasionally it happens that the same key is used in different models but with or without valid translation for each target language. There is no need to translate the same key over and over again. Since today there is a method to detect the best translation for each language using the Levenshtein Distance Algorithm (https://en.wikipedia.org/wiki/Levenshtein_distance). The idea is that the more distant a value is from its key, the better is the translation. On startup the translation cache is filled with those translation that are most distant from the key. In other words: correct translations that compete against defaults or sloppy translations will make it to the cache, thus increasing the quality of the displayed translation. Additionally there is a new console output indicating duplicates in bundles as error information and surviving translations per language and key as debug information.

0 Replies

by joerg

Entering a number without keypad

I have a field for entering a number as e.g. Counted quantity. This quantity is not to be entered with the number keypad, but via a combobox. How can I define this field so that the numbers 1 to 1000 are selectable?

1 Replies

by Jörg K.

Edit WelcomeScreen

As for today it is possible to edit the WelcomeScreen and save the new content permanently in the Preferences of your product. This is how it works: Start the application and stay at the Welcome Screen. With the right-mouse button while holding down the STRG+ALT keys, click 5 times at the top-left area of the Welcome Screen. The sensitive area is 50px in square. A rich text editor will appear instead of the static screen. Use the tools of the editor and if you are ready, do the 5 times click stuff again to save it and switch back to static mode. If you want to display images from the in-build themes you must enter the following path preceding the filename: VAADIN/themes//image/logo_osbee.png for example. is the currently selected startup theme e.g. osbp. Here is a list of in-build images you could try: 2M1AXEU9Q2.jpg app-loading.jpg binary-797263_1920.jpg binary-797274_1920.jpg bkgnd1.jpg cpu-564789_1920.jpg grid-684983_1920.jpg grid-871475_1920.jpg key.png logo_osbee.png padlock.png personal-95715_1920.jpg rain-455120_640.jpg statistics-706383_1920.jpg Top_view.jpg U68NITW3EI.jpg U68NITW3EI_s.jpg The images are taken from pixabay.com If you need to restore the original WelcomeScreen just delete the tag welcomeScreen from your preferences file.

0 Replies

by joerg

Search

When you think about searching and retrieving data, two use cases will come into your mind: find an entry of an entity to edit its properties find an entity to establish a reference.  For both cases there is a new feature dealing with filters and search views. If you want to pick an entry and don't know exacly its name, you filter all of your entries by means of filtering. There are two types of filters implemented: Compare filters Range filters. Compare filters can match an attribute by a set of comparison operators: equal unequal greater greater equal less less equal like (you could use the following wildcards: % matches any number of arbitrary letters $ matches exacly one arbitrary letter). Range filters expose two fields (from...until) where the inclusive borders of the range can be applied. You can supply filter metadata at the entity model by using the keywords "filter" and "range" like this:         domainKey String fullName         var String firstName         var filter String lastName         var range BirthDate birthDate         var range double salary This means that "lastName" will have a compare filter, where "birthDate" and "salary" will have a range filter. In addition to this filters on direct attributes it is also possible to walk along the reference tree and add so called nested attributes for filtering. How deep the tree is iterated can be defined in the metadata like this: ref filterDepth 01 Position position opposite employees And in the Position entity:   var filter String payType The keyword filterDepth limits the depth of iteration, in the example to 1 iteration. The resulting search view is automatically generated and looks like this: The filtering can be accessed by the filter button right to the combo box dropdown button or you can place a search view inside a perspective by using this syntax: part EmployeeSearch spaceVolume "60" view search in MemployeeDto depth 3 filterColumns 1 In the perspective you can override the depth metadata from entity and tell the layouter either to arrange all filtering attributes in 1 column or 2 with the keyword filterColumns.      

0 Replies

by joerg

Re: Search

Connecting different database products

You can easily use different database products as far they are supported by JPA and you have the appropriate driver at hand. For every different product you must have a different JNDI definition in your product preferences and you must define a different persistence unit per JNDI data source. Therefore it is not possible to share common relationships between different database products as JPA won't allow to navigate over persistence unit boundaries. The only way to support those projects is to use an Application Server like WebLogic from Oracle or WebSphere by IBM. This is quite expensive for small installations.

0 Replies

by joerg

DataInterchange is externally configurable by admins

The latest version of DataInterchange implements a new feature. Whenever the model is saved, not only the java classes and the smooks configuration is written but also a file to modify the import and export paths is written out. The file is interpreted using the Properties xml im- and export method and looks like this:<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties><comment>dataInterchange file URLs</comment><entry key="EmployeesDepartment-import">C:/myimports/employeesdepartment.xml</entry><entry key="EmployeesDepartment-export">C:/myexports/employeesdepartment.xml</entry></properties>Per default this file is named like the title in the dataInterchange package and extended by "Config" and has the extension "xml".package net.osbee.sample.foodmart.datainterchanges title "DataInterchange" {leads to the filename:DataInterchangeConfig.xmland is stored platform independently in the current user's home directory under the subdirectory ".osbee".An administrator must receive this configuration file with the application, modify it and place it somewhere on the application server. The path to this configuration file must be given in the product's preferences (org.eclipse.osbp.production.prefs):datainterchange/datainterchangeConfiguration=c\:\\DataInterchangeConfig.xmlThe path value obviously depends on your operating system.In the Eclipse IDE the setting looks like this:

0 Replies

by joerg

OS.bee is live!

Finally, the OS.bee website is online now.

0 Replies

by Ralf Mollik

Setup Test #1

I am a core developer of OSBP.Setup test worked properly based on OSX. Using Install instruction.To setup on OSX just use following eclipse neon package: Eclipse neon OSXIf you need any help during setup, just contact me. Skype: ktwpifBest Florian

2 Replies

by Florian Pirchner

Pitfalls with new Eclipse installations

Be aware that when installing a new Eclipse environment to look at the preferences for DS Annotations and check the box "Generate descriptors from annotated sources" as OS.bee makes heavy use of automatically generated component descriptors in the OSGI-INF directory. It is unchecked by default for incomprehensible reasons.Don't forget to set your target platform correctly as described in the installation guide.

0 Replies

by joerg

New Project for Travel Organisations

Helloi want to start a new Project for Travel-Organisations under the Eclipse Public License. I have found your framwork with your DSL' s and i want ask if it will be a good idea to use it for this project.The purpose of the project is to organize travellings by bus. A lot of people and associations organize trips by bus. With this software i want ot help this people to manage the organisation of such a tripThe features of the Project will be:- Webbased Frontend- Comprehensive Design- With user-management and right-mangement- Multilingual

1 Replies

by benjamin

Bugtracker

Where can i find a bugtracker?I have found an error and want to repot it.

1 Replies

by benjamin

Missing bundles after update and how to solve it

Sometimes, some bundles seem to be missing in the installation after an update has been made.This might look like the attached screenshot.The solution is to check the target definition of the workspace and to update the target with the software from the same repository and the same date as the installation.

0 Replies

by Ralf

If you are not a registered user you can only read the posts here in our forum.
For becoming an active part of the OS.bee community, it is necessary to register for a user account.
If you are already registered, please login.