thm-mni-ii / joomdd Goto Github PK
View Code? Open in Web Editor NEWAn MDD infrastructure for Joomla 3 and 4 extensions
License: GNU General Public License v3.0
An MDD infrastructure for Joomla 3 and 4 extensions
License: GNU General Public License v3.0
Die Auswahl des Pfades von 'src-gen' soll in allen GUIs weiter oben und markanter dargestellt werden. Weiterhin sollten übrige Optionen im Wizard standardmässig ausgeblendet werden und default-Werte sollen dafür verwendet werden.
Image or file cannot be loaded
the Jext2ejsl Tools must be actualise to scala 2.12. He dont go in the model file to read the Model information, because when the table dont have the same name wiht the model, he cannot find them.
A DetailPageField can be defined with a HTMLType. To ensure a suitable type for the related entity, a validation constraint must be defined.
You might download the wrong com_myconference folder with the new/update folder inside. Therefore the new/update folder structure should be improved.
Special characters and spaces in the file and/or folder name let the request fail.
The language files dont work fine, because it is existing double keys
There might be a problem with spaces or special characters in the folder and or file name.
For instance, there is an error when the folder name is "com_conference (2)" while extracting information from the manifest file of an extension.
The permission tab in the detail page should be optional. This requires an adjustment in the language and the generator.
Implicit ID should be default when not specified in the model with a unique annotation.
Maybe view is a better term than page. An optional language element or an additional editor rule is possible.
When a plugin is modelled with eJSL, the Plugintype must be given before the language specification. I would recommend changing the order of these model elements in the eJSL language definition.
Type of param in Confi.xml is not mapped and component in package are empty
In the table view: "Ordering", "Status" should be optional. Therefore a new language element should be defined to configure if the respective code has to be generated or not. This also requires adaption of the code generators.
lower/upper should be min/max. The values should only be -1, 0, 1. This requires changes in the language, generator and editor.
Teilweise löst das Löschen eines größeren Bereichs des Models einen Absturz von Eclipse hervor. Es tritt besonders dann auf, wenn das Model sehr groß ist. Das Löschen von Abschnitten wird dadurch sehr umständlich gemacht, da ich nicht mehr als 5 Zeilen auf einmal löschen kann.
Der Error ist ein SegmentationFault SIGSEGV
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fffc1d77ff1, pid=572, tid=0x0000000000000307
#
# JRE version: Java(TM) SE Runtime Environment (8.0_111-b14) (build 1.8.0_111-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.111-b14 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C [libsystem_platform.dylib+0x5ff1] _platform_memmove$VARIANT$Haswell+0x151
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Applications/Eclipse.app/Contents/MacOS/hs_err_pid572.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
the new extracted Extension cannot be generated.
Related: #44
jext2ejsl have to put a circumflex before keywords.
For instance:
Attribute position {
type = Text
}
should be
Attribute **^**position {
type = Text
}
The J4 generator should generate JToolbar groups (save, save2new, save2copy) instead of a button for each operation.
lower: -1 and upper; 2 should throw a validation error
If an entity attribute references another attribute which in turn is used as reference to the original entity, the generator gets stuck in a loop. Such a behavior can always happen and should be considered e.g. through exception handling in the generator.
The database queries are currently only escaped for forms, not for every query. Discuss with Roland and Joe, if this should be done per default for every query or only for vulnerable queries.
We need to improve the documentation for devs to enhance the entry for new collaborators
If a key-value definition is made, the key keyword seems useless. I recommend to remove it.
In the latest versions of inteliJ and PhpStorm, the wizards are not working. So, new developers are not able to use the plugins properly.
The readme should only consist of an overview of the project and links to the respective wiki settings. This requires to move the whole documentation stuff to the wiki.
Bei mindestens dem Identifier size bekomme ich einen Fehler, wenn ich ihn als Attribute verwende.
Der angezeigte Fehler lautet: mismatched character '{' expecting '='
Dies führt zu dem besagten Fehler:
Attribute size {
type = Integer Not Null
}
Ohne Leerzeichen kommt kein Fehler:
Attribute size{
type = Integer Not Null
}
Beim ändern des Namens kommt ebenfalls kein Fehler:
Attribute sizee {
type = Integer Not Null
}
To enable an update of a new generated extension, the update mechanism in the generator should be improved. Use "CREATE TABLE IF NOT EXISTS" and "ALTER TABLE" for all Attributes. To enable remove operations, a more sophisticated mechanism is required. This has to be discussed with Wolf and Joe!
Example Shop: The component zip file (com_exampleshop.zip) in folder pkg_shop ist empty.
@orionstardev found the following issue:
DetailsPage Item {
*Entities item, location
editFields {
item.^title {
type = Text_Field
field attributes {
Key required="true",
Key filter="HTML"
}
},
........................
}
*ParameterGroups PGViewsettings, PGImages, PGGeneral
<--- causes component crash
*Globalparameters date_format,accept_format
localparameters {
........................
}
Please have look at:
<fieldset name="«e.name.toLowerCase»"
label="«Slug.nameExtensionBind("com",component.name).toUpperCase»_FIELDSET_«page.name.toUpperCase»_«e.name.toUpperCase»"
<--- add missing fieldset tag closing '>' here
«FOR ExtendedParameterGroup e :
page.extendedParametersGroupsListe»<fieldset
name="«e.name.toLowerCase»"
label="«Slug.nameExtensionBind("com",component.name).toUpperCase»_FIELDSET_«page.name.toUpperCase»_«e.name.toUpperCase»" <---
add missing fieldset tag closing '>' here
Add above fix also in code for joomla4.
componentHelper and moduleHelper class names are the same right now. Change this in the generator.
Paramter like "created-by","id" im Configuration shema for frontend view occurs many time in the xml-shema.
in the parsing of shop example the table "product" are ignored.
If an enity reference is created in a plugin specification, the entity must be defined as a string. However, the auto completion does not create a string. I would recommend to change the type from string to ID in the language definition.
-1 and all other numbers other than 0 and 1 fail. Generator should allow a more sophisticated model.
Neben den Joomla Schlüsselwörtern müssen auch weitere Schlüsselwörter blockiert werden. Zum Beispiel führt eine Verwendung des Namens Group zu einem Fehler, da es von MySQL nicht erlaubt ist.
Innerhalb der Tabellennamen führt es durch den Joomla-Prefix zu keinem Problem, aber die verwendeten Alias-Begriffe führen dabei zu einem Fehler. Eventuell kann man dies durch einen festen Prefix vor allen Aliases verhindern.
jorobo (robo) composer package to replace dates and copyrights etc....
A PageAction allows the definition of a specific Joomla action which can be performed by clicking a button or link in a component view or model. To this end, the action itself and the position of a button (e.g. Save, Publish, etc.) can be specified in a model.
However, the current generator versions do not translate a page action to a button or link in the generated extension.
Therefore, an adequate reference implementation is needed and the code generator templates have to be refined to enable the generation of PageAction representations (e.g. Buttons) with the required business logic for each particular action.
The implemented constraint which is violated if an extension package contains another should be removed since this is actually a feature of the eJSL langugae.
The ordering has to be fixed in the frontend part of the J4 generator. Since it is already fixed for the backend part, the code can be used as reference.
The lable type makes no sense and should therefore be removed from the type selection in the language and the mapping code in the code generator templates.
If a library is specified within an eJSL model, it throws an validation error, if a sub package is created. This, however, should be possible.
Language placeholders are not resolved (sometimes?). If no language is defined, the generator currently creates both en-GB languages (normal and sys). However, if no system language is defined in the model, no default system language file is generated.
Therefor it would be better to generate a default sysstem language file, if no one is defined in the model.
The language allows making use of inheritance between entities. However, if a parent class contains a unique attribute, extending classes still need a unique attribute, too.
The validator should be refined to allow inheritance and the generators must handle inheritance to translate it to correct code.
We should discuss how we deal with the primary and unique attributes in entity definitions. A unique attribute must be implemented which in turn takes the role as primary attribute in the generated code. This is a weird behavior which should be discussed!
*.eJSL files are empty when you don’t click the "Save Model"-Button in the web editor. There should be a warning when you have unsaved changes in your model file.
The configarion shema for the menuitem have some failures
In PHPStorm there is no structure view for the eJSL language: entities, pages, extensions.
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.