openlowcode / open-lowcode Goto Github PK
View Code? Open in Web Editor NEWSolution for rapid development of specific enterprise software
Home Page: https://openlowcode.com/
License: Eclipse Public License 2.0
Solution for rapid development of specific enterprise software
Home Page: https://openlowcode.com/
License: Eclipse Public License 2.0
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.
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.
There are two widgets in the toolset that seem to be identical. One of them should be deprecated and suprressed:
in package org.openlowcode.server.graphic.widget.
Login page references the old internal name (Gallium) of the framework. This should be replaced.
The following methods generate strings to be used for fields or classes inside java code. It should be checked if the string given as attribute is a valid java class / method name (does not start by a digit, no forbidden characters):
There is a setting in property org.openlowcode.design.data.properties.basic.DisplayLinkAsAttributeFromLeftObject allowing to choose if query is done by number or name.
This feature should be implemented
There should be a way to have in text a carriage return that does not result in new paragraph with additional spacing, but just a new line.
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.
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())
+ "();");
}
}
}
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.
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);`
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
it may be possible to derive the OLcClient and OLcUpdater to
In order for the client update to work smoothly, the following should be configurable:
The save-as function has been used mistakenly in production many times.
To avoid bad usage, the following should be implemented:
There should be an option when starting a new line to precise that there should not be a bar between two lines.
This should be an option of the addBlankLine method of PDFMultiPageTable.
The LargeBinaryArgument (org.openlowcode.design.data.argument) should be hardcoded as not a security argument.
It does not make sense to have a LargeBinaryArgument as security argument
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)
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.
When loading a field defined as rich text, there is no check that the format of rich text is valid. A check should be added in the class org.openlowcode.server.data.StringDataObjectFieldFlatFileLoaderColumn
The STextField has a business parameter attribute, which usage is not clear. It should be properly documented, or deprecated.
Class impacted: org.openlowcode.server.graphic.widget.STextField
Users should be given consistent rights for edition of links on the left object, i.e.
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.
Massive LinkedToParent query (on several parents) sometimes generates a query without a condition on parent. This can cause the server to fail (exemple in operation: query on 200.000 objects makes the server GC fail)
There is a method allowing to specify fields as not being updatable by users: .setNoUserEdition();
When this method is used, on an ObjectDisplay, the field is not editable. However, in an object array, the field is editable.
There is a common case where import file is exported when no data is present to be used as a template.
There are two problems today:
Linked to #44
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
Bullet paragraphs should have a reduced space between them than two normal paragraphs.
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
There should be a feature similar to #40 for plain text in paragraph to show in a compact way
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)
When exporting data to an excel spreadsheet, choice fields should have an entry restriction.
The entry restriction should also be usable in custom chargers.
The ExternalElement class (org.openlowcode.design.data) contains attributes that are not used. The class could probably be simplified
The following labels should be improved for parent-child relationships:
It should be possible to write one's own PDFBandSection. This requires the following method to be documented and public:
Some special characters in String make the PDF generation explode. Especially, the following cause problems:
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 is performing a check before object update that the conditions for all the links are still valid. This logic has the following issues:
This ticket should limit the query of links to the cases where both conditions exist and related fields actually changed.
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.
The button showactionbutton in the page ShowactivetaskPage is not used. It should be made active
When using a TimePeriod field, it is possible to specify a field priority. However, the prioirity is not taken into account.
Design and server components should be updated to allow this.
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.
The PDFPageBandRichTextSection does not have any result when being inserted in a page band.
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:
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:
there is a batch processing for set state pre-processing on data controls property.
Current behaviour: in the first error, processing stops
Expected behaviour: all objects without error are processed, in an efficient manner
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
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
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.
The UniversalStartNode class in smart report is not complete. It should be completed to be operational
org.openlowcode.design.advanced.UniversalStartNode
Build ant script has the following problems:
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)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.