GithubHelp home page GithubHelp logo

friendsoftypo3 / extension_builder Goto Github PK

View Code? Open in Web Editor NEW
110.0 20.0 80.0 20.82 MB

TYPO3 extension to kickstart and maintain TYPO3 extensions

Home Page: https://docs.typo3.org/p/friendsoftypo3/extension-builder/11.0/en-us/

License: GNU General Public License v2.0

PHP 44.68% Perl 0.04% HTML 3.50% JavaScript 27.12% Raku 0.01% SCSS 0.95% CSS 23.64% Shell 0.02% Makefile 0.03%
typo3-extension extbase typo3

extension_builder's Introduction

Latest Stable Version_ TYPO3_ Total Downloads_ Monthly Downloads_ Build Status_

TYPO3 Extension extension_builder

The Extension Builder helps you to develop a TYPO3 extension based on the domain-driven MVC framework Extbase and the templating engine Fluid.

It provides a graphical modeler to define domain objects and their relations as well as associated controllers with basic actions. It also provides a properties form to define extension metadata, frontend plugins and backend modules that use the previously defined controllers and actions. Finally, it generates a basic extension that can be installed and further developed.

In addition to the kickstart mode, the Extension Builder also provides a roundtrip mode that allows you to use the graphical editor even after you have started making manual changes to the files. In this mode, the Extension Builder retains the manual changes, such as new methods, changed method bodies, comments and annotations, even if you change the extension in the graphical editor.

Repository

https://github.com/FriendsOfTYPO3/extension_builder

Read online

https://docs.typo3.org/p/friendsoftypo3/extension-builder/main/en-us/

TER

https://extensions.typo3.org/extension/extension_builder

Sponsor us to get things done for your business - in time and quality.

extension_builder's People

Contributors

alagts avatar alappe avatar alexander-nitsche avatar andrzejkolbuc avatar brotkrueml avatar derhansen avatar franzholz avatar georgringer avatar helhum avatar liayn avatar liwo avatar lukasniestroj avatar martin-helmich avatar neufeind avatar nicodh avatar ohader avatar oliverklee avatar pfaffenrodt avatar pgampe avatar pkuhlmay avatar radmiraal avatar rowild avatar rvock avatar ryno83 avatar simonschaufi avatar skurfuerst avatar ste101 avatar sypets avatar tmotyl avatar xperseguers 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

extension_builder's Issues

Extension could not be saved without backend module

Env
TYPO3 8.6
PHP 7.1.3
"ebt/extension-builder": "8.6.x-dev"

When i try to save the extension I get:

Extension could not be saved: Could not create public resources folder, error: PHP Warning: Invalid argument supplied for foreach() in /app/web/typo3conf/ext/extension_builder/Classes/Service/FileGenerator.php line 631

If I add at least one backend module, it works.

Some existing icons are not loaded

Hello.
When you mouse over a model object or one of the people linked to a project, some icons are not loaded. It is necessary to modify the routes of the icons.
img01
img02

Modified ext_emconf File will be overwritten

hi,

if you use a 7.6 without composer and you need to add autoloading to the ext_emconf file, it will be overwritten within the next save from the extension_builder.

as long as it is possible to use typo3 without composer and you need autoloading stuff, the file should have the same "token" or something like the other files to make that possible.

thx.

Deprecation-Warnings related to "enableClickMenu"

Hi =)
I get those deprecation-warnings :
19.09.2017 16:24: [typo3conf/ext/extension_builder/Resources/Private/Templates/BuilderModule/Domainmodelling.html] The property "enableClickMenu" has been marked as deprecated. Setting "enableClickMenu" in Container ViewHelper is deprecated, the option will be removed in TYPO3 v9 Please check also your partial and layout files of this template
Can anybody fix those, please? thanks in advance

incorrect escaping of html-chars

If the extension name or the extension description contains an ampersand (&) it will be escaped while writing for example ext_emconf.php or ext_tables.php.

This leads to a double-escaped ampersand in the extension builder, because the title will be escaped again.

I think, it should be enough to quote the strings and use raw-output for the rest:

$EM_CONF[$_EXTKEY] = [
    'title' => '<f:format.raw><k:format.quoteString>{extension.name}</k:format.quoteString></f:format.raw>',
    'description' => '<f:format.raw><k:format.quoteString>{extension.description}</k:format.quoteString></f:format.raw>',

Plugin declaration wrong

If you add a frontend plugin, then the icon and text is missing on creating a new contentelement/plugin.

bildschirmfoto vom 2017-07-27 13-38-41

Exception after extension activation if tx_flux also installed

I do have this issue for a really long time now and i wonder why nobody else has the same problem?!

The Exception is #1289843275: "extensionName" is not properly configured. Request can't be dispatched!

Any idea?

TYPO3: Current dev-master
Other Extensions: vhs, flux, realurl, ..

screenshot 2017-03-02 23 15 15

Suddenly Error Non-static method EBT\ExtensionBuilder\Parser\NodeFactory::buildNodeFromValue()

Hi. Working with TYPO3 8.7.4 with the dev-master of the extensionbuilder, that error appeared suddenly?

Extension could not be saved: Could not generate action controller, error: PHP Runtime Deprecation Notice: Non-static method EBT\ExtensionBuilder\Parser\NodeFactory::buildNodeFromValue() should not be called statically in /app/htdocs/typo3conf/ext/extension_builder/Classes/Parser/NodeFactory.php

An idea?

Graphical modeler collapses

Hello,

when I click on the following buttons, the whole modeler collapses like this:

image

To continue to edit or work with the models, I have to manually change the height of the elements in firebug/dev tools. Opening an existing extension to the modeler doesn't help. I can reproduce this in Chrome & Firefox.

I'm using the latest version of the extension_builder on Typo3 8.7.7

Saving extension not working

When saving an extension in extension builder an error occurs.

Error Message:
Uncaught TYPO3 Exception: Call to undefined method TYPO3\CMS\Extbase\Configuration\ConfigurationManager::parseRequest() | Error thrown in file /var/www/html/typo3conf/ext/extension_builder/Classes/Controller/BuilderModuleController.php in line 172.

Domain Modelling doesn't show anything

I installed the extension builder in the backend. Introduction is visible but in domain modelling is nothing like on the image. Are there wrong references to files and data?

1

Push tags and add a release for TYPO3 8.7

Hey Hey :)

could you do me a favour and please add a Git Tag for each release and push it to GitHub?

Right now, when I use Composer, this extension may only be added with a "dev-master" version constraint. I would like to add specific versions however, to keep this extension working in different TYPO3 versions & setups.

When you do this, could you release a version for TYPO3 8 as well? The last relase in TER was 7.6.18 for TYPO3 7, on GitHub TYPO3 8 is supported but requires using "dev-master".

Support typo3 v8.7

Good afternoon! Does your extension support version 8.7 and, if so, how do I configure the extension?
After installation, added a line to root composr.json "EBT\\ExtensionBuilder\\": "typo3conf/ext/extension_builder/Classes/", because there was an error in the backend
Could not analyse class: "EBT\ExtensionBuilder\Controller\BuilderModuleController" maybe not loaded or no autoloader? Class EBT\ExtensionBuilder\Controller\BuilderModuleController does not exist

Now, a white sheet and 500 error

Multiple relations to sys_category results in duplicat entries in ext_tables.sql

I have to make 2 relations to sys_category.
Configuring it like this:
extension_builder_error2
I'm getting duplicate entries in ext_tables.sql:

# Table structure for table 'sys_category'
#
CREATE TABLE sys_category (

	product int(11) unsigned DEFAULT '0' NOT NULL,

	product int(11) unsigned DEFAULT '0' NOT NULL,

);

This worked in TYPO3 7.6 but not in 8.7

#40: The column 'product' on table 'sys_category' already exists. (More information)

Doctrine\DBAL\Schema\SchemaException thrown in file
/var/www/vhosts/hosting8098.af933.netcup.net/httpdocs/decoderdb.de/typo3_src-8.7.6/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php in line 120.

Icon missing on introduction page

When visiting the extension builder backend module, the introduction page is shown.
On the top left an icon "open in new window" is shown. The icon is missing.

2017-05-05 auswahl_001

This is with TYPO3 7.6.15 and extension_builder git bab5938

Extension key not accepted

The Key defined under "Extension properties" doesn't pass the validation any more. With commit "ea250a85bedefc6e78a6770e93c1cb264282f07b" it works

Allow extensions prefixed with "user_"

Hi,
in past versions (and in last), is not allowed save extensions with prefix 'user_'. Much times, we work on specific projects and we've the need of write a cutom specific project extension. We start to create extension with exension_builder,but we are forced to modify extension, to allow to save new extension with prefix user_. Will be possible allow prefix 'user_' in this and in the next releases ?

Thank you,
Gianluca

l10n_parent default SQL error

With an Extension build on typo3 7.6.18,
extension builder from ter, ver: 7.6.18

On copy paste a record i got the error:
SQL error: 'Incorrect integer value: '' for column 'l10n_parent' at row 1'

Cause: missing default in TCE

Solution:
add
'default' => 0,
to
'l10n_parent' => [

Can't save after adding a frontend plugin

With latest master I'm getting an error 'template not found' after adding a frontend plugin:
extension_builder_error
I can fix this by reverting this patch in file Classes/Service/FileGenerator.php introduced in task 65 62b6c59

@@ -366,7 +375,7 @@
                  * @var \EBT\ExtensionBuilder\Domain\Model\DomainObject\Action $action
                  */
                 if ($action->getNeedsTemplate()
-                    && file_exists($this->codeTemplateRootPath . $templateRootFolder . 'Templates/' . $action->getName() . '.htmlt')
+                    && file_exists($this->getTemplatePath($templateRootFolder . 'Templates/' . $action->getName() . '.htmlt'))

Backend Module without CSS/JS in iframe

Version: 8.7.0
TYPO3: 8.7.3

I build a backend module and the form output is correct.
But the included content within the iframe is no standard html page.
There is no html-tag, no head and no body.

The main problem: all of the default css/js includes are missing, and so the styling of the backend forms is impossible.

Can you please give me a hint?

Thanks
mcmulman

Core ships PHP-parser now as well

Since https://forge.typo3.org/issues/76084 the core ships now the PHP-Parser as well which leads to conflicts as e.g. the ParserFactory class can not be found in the core because of the autoloading of extension_builder.
As a solution the extension_builder must use the core's version to be compatible with 9.0

Error in 8.7.4

We installed the current master in TYPO3 8.7.4 and get the following error

[module-tools_ExtensionBuilderExtensionbuilder] The option "source" is required and must not be empty

can you relate to that?

Rendertype for 1:n relations has no effect

When setting relations for a model object to 1:n, the renderType dropdown has no effect, as the template used to generate the relevant TCA code has renderType "inline" hardcoded. The template used is CodeTemplates/Extbase/Partials/TCA/ZeroToManyRelation.phpt

rendertype

Open existing extension not working

When clicking on "Open Extension" an error occurs.

Following Error Message appears in Log:
Exception handler (WEB): Uncaught TYPO3 Exception: Call to undefined method TYPO3\CMS\Extbase\Configuration\ConfigurationManager::parseRequest() | Error thrown in file /var/www/html/typo3conf/ext/extension_builder/Classes/Controller/BuilderModuleController.php in line 172.

Save record in backend produces error: Unknown column 'l10n_state' in 'field list'

  • Typo3 8.6.1
  • extension_builder github clone from 1.3.

To reproduce:

  • Create new extension with model
  • install extension
  • insert new record by list module

results in error:

Oops, an error occurred!
An exception occurred while executing 'SELECT `uid`, `l10n_state`, `sys_language_uid`, `l10n_parent` FROM `tx_test1_domain_model_test1` WHERE (`uid` IN (NULL)) AND ((`tx_test1_domain_model_test1`.`deleted` = 0) AND ((`tx_test1_domain_model_test1`.`t3ver_wsid` = 0) AND (`tx_test1_domain_model_test1`.`pid` <> -1)))': Unknown column 'l10n_state' in 'field list'

Any help welcome

DomainModel UnitTests missing for integer properties

Properties of type integer has empty test functions (getPropertyReturnsInitialValueForInt() + setPropertyForIntSetsProperty()) cause of changed syntax (integer > int) which needs to be adapted in FLUID templates (Resources/Private/CodeTemplates/Extbase/Tests/DomainModelTest.phpt).

BuilderModuleController maybe not loaded or no autoloader

Can't login to typo3.org - so I hope you see the issue here on GitHub.

I get the following error under TYPO3 7.6.1 with PHP-7.0-FPM and Debian 8 (Jessie), when I open the backend module:

#1289386765: Could not analyse class: "EBT\ExtensionBuilder\Controller\BuilderModuleController" maybe not loaded or no autoloader?

Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1289386765: Could not analyse class: "EBT\ExtensionBuilder\Controller\BuilderModuleController" maybe not loaded or no autoloader? | TYPO3\CMS\Extbase\Object\Container\Exception\UnknownObjectException thrown in file /var/www/bin/typo3_src-7.6.1/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php in line 37.

I tried all suggested solutions, that you can find here: https://wiki.typo3.org/Exception/CMS/1289386765 and also a fresh TYPO3 instalaltion. Extension builder still doesn't work.

edit:
I changed my TYPO3 version back to 7.6.0 and now it works.

Icon-Paths are wrong ...

... if TYPO3 is running in a sub-directory.
Paths are always prepended with "/" and the links show then to a wrong location.
Tested in branch 7.6, don't know yet about upper branches.

Separate unit and functional tests

Most of the unit tests are not real unit tests in the sense that the instantiate multiple classes etc. So they should be moved to the Functional tests. The real unit tests should extend \TYPO3\CMS\Core\Tests\FunctionalTestCase...

incorrect escaping of quotes

If using 'Extend existing model class' - e.g. with \TYPO3\CMS\Extbase\Domain\Model\FrontendUser, the generated code in TCA/Overrides/fe_users.php looks like:

if (isset($GLOBALS[&#039;TCA&#039;][&#039;fe_users&#039;][&#039;types&#039;][&#039;0&#039;][&#039;showitem&#039;])) {

All quotes are HTML-encoded. Temporary solution for developers: Search&Replace this:
&#039;
with this:
'

Primary key for join table

When using Percona XtraDB Cluster in strict mode = ENFORCING or MASTER (as highly recommanded) it's not permit to have a table without a primary key. Then I'm proposing to add a primary key for join table created by extension_builder.

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.