Coder Social home page Coder Social logo

joomdd's People

Contributors

dieudonnetimma avatar eriiond avatar exsile95 avatar kneisel avatar peterthm avatar priefyou avatar schmidie64 avatar timhaeuser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

joomdd's Issues

Remove lable from DSL and generator

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.

Extract Extension Information - Unhandled folder/file names

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.

Add dev documentation

We need to improve the documentation for devs to enhance the entry for new collaborators

Schlüsselwörter der Sprache

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.

Wrong validation messages in edit views

The validation messages are too abstract. No one knows, what

"Save failed with the following error: Incorrect integer value: '' for column 'participant_id' at row 1"

means...

image

New/Update structure is confusing

You might download the wrong com_myconference folder with the new/update folder inside. Therefore the new/update folder structure should be improved.

Page vs View in the language

Maybe view is a better term than page. An optional language element or an additional editor rule is possible.

unique != primary attribute

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!

An update is not possible due to wrong sql files

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!

Implementation of PageAction in the Code Generators

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.

Allow Inheritance of Entities

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.

Generator loop, if loop in entity references

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.

Wrong type of entity reference in Plugin specification

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.

Jext2ejsl features

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.

Constraints for DetailPageFields

A DetailPageField can be defined with a HTMLType. To ensure a suitable type for the related entity, a validation constraint must be defined.

Absturz beim Löschen

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.
#

Default language if no language is defined in the model

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.

Bug when you add ParameterGroups to a DetailsPage definition

@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:

  1. package de.thm.icampus.joomdd.ejsl.generator.ps.joomla.JoomlaPageGenerator;
    AbstractPageGenerator.xtend
    line 88:
<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
  1. package de.thm.icampus.joomdd.ejsl.generator.ps.joomla.JoomlaPageGenerator;
    DynamicPageTemplate.xtend
    line 229:
«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.

Escape database queries

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.

Reorder Plugintype definition in eJSL langugae

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.

"position" is a keyword

Related: #44
jext2ejsl have to put a circumflex before keywords.
For instance:
Attribute position {
type = Text
}

should be
Attribute **^**position {
type = Text
}

Attribute-identifier is wrong

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 
}

Wizard Überarbeitung

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.

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.