Giter Site home page Giter Site logo

openlowcode / open-lowcode Goto Github PK

View Code? Open in Web Editor NEW
198.0 198.0 29.0 3.51 MB

Solution for rapid development of specific enterprise software

Home Page: https://openlowcode.com/

License: Eclipse Public License 2.0

Java 99.97% CSS 0.03%
java javafx low-code low-code-development-platform low-code-plattform

open-lowcode's People

Contributors

ceciledemauroy avatar openlowcode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-lowcode's Issues

addFieldasSearchElement not activated

There is a feature in DataObjectDefinition (org.openlowcode.design.data) to add a field as a search element. This method ( addFieldasSearchElement ) is not activated.

The feature should be developed.

Rationalize use of java generics on the designer

The designer (org.openlowcode.design) uses generics for objects, properties...

Those generics are inconsistent, and should be reviewed to be either suppressed or kept and used systematically.

Allows an action with modifier to show action in another window

Current framework only allows to launch an action on another tab for actions without modifiers, and when pressed control, action is opened on another tab.

This feature request should add a way for widget to specify that for certain modifiers, action should be opened in new tab.

Generation of Linked to Children widget - review other properties statement

Inside LinkedFromChildren (org.openlowcode.design.data.properties.basic), there is a statement inside the widget to generate a statement for properties others than linkedFromChildren.

This generates wrong statements for LinkedToParent properties and it is not clear if it is needed in another context

						if (!done) {
							for (int k = 0; k < thisproperty.getContextDataForCreationSize(); k++) {
								// treats specific case of recursive linked to parent
								boolean exception = false;
								if (thisproperty instanceof LinkedToParent) 
									exception = true;
								
								if (!exception)
								sg.wl("		create"
										+ childclassattribute + "withparentaction.set" + StringFormatter
												.formatForJavaClass(thisproperty.getContextDataForCreation(k).getName())
										+ "();");

							}
						}

					}

Move fields specific to DataObjectField out of DataObjectElement

A DataObjectElement (org.openlowcode.design.data.DataObjectElement) has several methods that are actually useful for fields (that have a single element shown in object) but not properties.

This includes displayname and tooltip.

Tholse fields should be moved out of DataObjectElement and put to the Field subclass.

File Import / Export - Alias filter not activated

The import / export function allows the definition of an alias filter. This helps with determining which columns to show in the import / export depending on data of the object. Typically, it allows not to export colummns that do not make sense based on the object context.

This is done by specifying a condition like

this.workitem.setAliasConditionOnParent(budgetround);

This import / export function alias filter does not work in some situations. Actually, it seems to work only when an extractor condition choice is created (this will ask the user what kind of export they want).

	`this.workitem.setExtractorConditionChoice(workitemexporttype);`

ObjectStatePrivilege does not work

Object State Privilege does not manage correctly the module prefix on the authority name. It should be fixed by adding the module prefix in the code generation algorithm

Allow different class name for Client and Updater

it may be possible to derive the OLcClient and OLcUpdater to

  • add new features
  • respect the class name from the previous name of the framework.

In order for the client update to work smoothly, the following should be configurable:

  • name of the client class should be a parameter on the OLcServer
  • name of the updater class should be an overridable parameter on OLcClient.
  • The name of the JAR holding the updater should also be a parameter

Avoid bad usage of 'save as' function

The save-as function has been used mistakenly in production many times.

To avoid bad usage, the following should be implemented:

  • rename save-as to duplicate
  • have a simple way not to provide save-as rights as part of standard action groups.

Clean ValueConsolidator

The MainReportValue is using an empty ValueConsolidator class that does not seem to be used. It could probably be removed entirely.

(org.openlowcode.design.advanced.MainReportValue)

Designer simplification - replace MethodArgument by ArgumentContent

In Open Lowcode designer, The MethodArgument method does not seem to add any value compared to the ArgumentContent class.

Method Argument should be replaced everywhere by ArgumentContent. This will not impact the code of applications generated with Open Lowcode designer, just property definition in Open Lowcode designer.

Both classes are part of org.openlowcode.design.data.

addActionOnObjectId method probably useless on LeftForLink and RightForLink

The LeftForLink property (org.openlowcode.design.data.properties.basic) has a method addActionOnObjectId that probably does not make sense as it refers the left object of the link.

There is no reason to add such an action on the left for link widget, as it should be directly on the main object on the object page.

This ticket should confirm that this method is not used, and then cut it.

Propose option to alphanumeric version scheme to skip I and O

There should be an option in the alphanumeric version scheme to skip I and O in version number. This is typically used in regulated environment to avoid confusing letter I with number 1 and letter O with number 0.

Current constructor should be kept with default behaviour of using I and O for backward compatibility

class to modify: org.openlowcode.server.data.properties.version.AlphanumericVersionScheme

Make Alphanumeric version scheme work for two letters

Current alphanumeric version scheme next version works from A to Z. It should be extended to use AA after Z, AAA after ZZ...

Class to modify: org.openlowcode.server.data.properties.version.AlphanumericVersionScheme

PDFMultiPageTable - constructor with equal width columns does not work

When using the constructor new PDFMultiPageTable(3), the printing explodes.

Exception encountered java.lang.IndexOutOfBoundsException Index: 0, Size: 0 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:657) at java.util.ArrayList.get(ArrayList.java:433) at org.openlowcode.tools.pdf.PDFMultiPageTable.printOneRow(PDFMultiPageTable.java:359) at org.openlowcode.tools.pdf.PDFMultiPageTable.printPartial(PDFMultiPageTable.java:445) at org.openlowcode.tools.pdf.PDFPageBand.layoutPages(PDFPageBand.java:142) at org.openlowcode.tools.pdf.PDFDocument.PrintAndSave(PDFDocument.java:76)

Improve labels for parent-child relationships

The following labels should be improved for parent-child relationships:

  • parent button label should be changed to parent XXX where XXX is the type
  • export children should be updated to 'export loadable file'

Special characters in string make PDF generation explode

Some special characters in String make the PDF generation explode. Especially, the following cause problems:

  • carriage return ( \n): treatment: return line
  • another type of carriage return (\r): treatment: return line
  • NO-BREAK SPACE (\u00A0): treatment: make it a space
  • CHARACTER TABULATION (\u0009): treatment: make it 3 spaces

There should be a default treatment of all those characters.

class java.lang.IllegalArgumentException during processing U+0009 ('controlHT') is not available in this font Helvetica encoding: WinAnsiEncoding
org.apache.pdfbox.pdmodel.font.PDType1Font.encode(PDType1Font.java:425)
org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:323)
org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:352)
org.openlowcode.tools.pdf.PDFPage.getTextSize(PDFPage.java:295)
org.openlowcode.tools.pdf.PDFPage.calculateBoxAndMaybeWriteText(PDFPage.java:1166)

The Hasautolink property queries the objects for control even if there are no rules to check

The hasautolink property is performing a check before object update that the conditions for all the links are still valid. This logic has the following issues:

  • it is querying all the links even when there are no conditions
  • it querying all the links even when the related fields did not change.

This ticket should limit the query of links to the cases where both conditions exist and related fields actually changed.

Autogeneration error for excel children import / export

Error inside Budgetmanager application. There is a reference to childrenactionbandforworkitem but the element does not seem to exist.

Probably there is an error where workitem is hardcoded whereas the child is activity.

Remote extra space in table header

Table header have too much margin when displayed. It should be reduced (either compulsory or optional).

Ticket is about PDF Printing and the table / Multi-page table functions.

Refactoring of CChoiceField : change relation between multiplechoice data element and choice data element

CChoiceField (org.openlowcode.client.graphic.widget) cannot be typed because it supports both ChoiceDataElt and MultipleChoiceDataElt.

Refactoring should be performed so that the field can be typed. Suggestions to evaluate:

  • make choicedataelt a child of multiplechoicedataelt
  • type CChoiceField for choicedataelt only as CMultipleChoiceField is supporting mulltiplechoicedataelt (probably prefered)

Allow extension of MultiPageTable

It should be possible to provide one own formatting for a cell in multipage table, to allow, for example, some rich-text printing.

This requires the following change to the class:

  • make CellText class public
  • provide access to columnnumber
  • reorganize getOneLine and printOneRow so that the standard method can still be used if there are extensions for some columns

Repair easy text search on test field

Text field on an object should have an easy search function. The function is part of the framework today, but not implemented.

The context is to take a text, remove all spaces, dots, commas..., keep only letters and numbers and put letters to upper case. This will be stored in a special field.

When doing a search, the text to search will be normalized the same way, and search will be done on the special field. So when searching for " Hello, World", "hello world" will also be returned.

File to impact include org.openlowcode.server.data.StringDataObjectField

Personal property is probably not used

The Personal property in the designer (org.openlowcode.design.data.properties.basic) does not seem to have a related property in the server.

It has been left on the codebase as it is referenced in SystemModule. However, after investigations, it should be deleted if confirmed unused

Improve import statements for DataObjectElement

A DataObjectElement (org.openlowcode.design.data.DataObjectElement) asks subtypes to implement a method (writeDependentClass) where import statements are directly written in the data object source code.

As data object elements are likely called several times, this will generate duplicate in import statements.

The method should be re-engineered to provide a list of string import statements that can then be consolidated and ordered before being printed.

Finish the UniversalStartNode

The UniversalStartNode class in smart report is not complete. It should be completed to be operational

org.openlowcode.design.advanced.UniversalStartNode

Build ant script does not work

Build ant script has the following problems:

  • It references a local file on developper PC not part of the release
  • The cleaning of files and compile was not working properly

Delete action on ArrayField does not work anymore

When clicking with control on an array field, the action is not registered in the client ActionManager.

Sample error:

WARNING 34:57.068 exception while processing event Unknown event from page
WARNING 34:57.071 - org.openlowcode.client.runtime.PageActionManager$1.handle(PageActionManager.java:428)
WARNING 34:57.071 - org.openlowcode.client.runtime.PageActionManager$1.handle(PageActionManager.java:385)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.