Download the PHP package oxid-community/moduleinstaller without Composer

On this page you can find all versions of the php package oxid-community/moduleinstaller. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package moduleinstaller

Oxid hackathon 2019, Symfony & Oneclick-Installer

Alpha Release

Dieses Programm ist in der Entwicklungsphase. Die Angaben in der Eingabemaske werden direkt und unwiederbringlich in die Datei composer.json geschrieben. Sie sollten diese Modul nur verwenden, wenn Sie wissen was sie tun.

Verwenden Sie dieses Programm unter keinen Umständen Live!

Testen / Ausführen

Installieren

composer create-project oxid-community/moduleinstaller

Ausführen

Integrierter PHP-Server

Wenn PHP global installiert ist, kann das Tool mit dem integrierten PHP-Server ausgeführt werden:

composer run-script server

Im Browser kann der Installer nun per URL aufgerufen werden: http://localhost:8088

Nice2Know: Mit der Option --timeout=0 brechen die Scripts nicht nach 300 Sekunden ab: composer run-script server --timeout=0

Apache/Nginx

Der Installer läuft auch in jeder bekannten Apache-Installation mit PHP wie WampServer, Xampp, Wamp, Lamp, Docker ...

Im Browser kann der Installer per URL aufgerufen werden http://localhost/pfad/moduleinstaller

Hinweis: Je nach konfiguration der Domain oder des Ports kann die URL abweichen.

Routen testen

Alle Routen werden in der Datei src/Resources/config/routing.yml notiert. Diese können an die oben genannten URL angehängt werden:

http://localhost:8088/oxid/moduleinstaller/repositories/

Ausführbare Datei (PHAR)

Warum eine ausführbare Datei? Letztendlich ist das Ziel dieses Modules kein Modul im eigentlichen Sinne zu sein, sondern ein Programm wie Composer, geschrieben in PHP. PHAR ist ein PHP-Archiv und eignet sich deshalb besonders gut, um eine ausführbare Datei zu erzeugen.

Installieren & Nutzen

  1. composer.json hochladen
  2. Das Verzeichnis /public anlegen
  3. Phar-Datei in das Verzeichnis /public laden
  4. https://domain.tld/oxid.phar.php aufrufen

Hinweis: In der Entwicklungsphase wird keine PHAR-Datei zur Verfügung gestellt, die Datei muss wie weiter unten beschrieben von jedem selbst erzeugt werden.

Vorteile

Datei generieren

Die Datei wird mit Phing und Box erzeugt. Um die ausführbare Datei zu erzeugen, müssen beide Pakete installiert werden:

Nach der Installation, kann die Datei oxid.phar bzw. oxid.phar.php erzeugt werden. Diese Datei ist ausführbar wie eine index.php und kann anstelle des Modules mit dem unten genannten Build-In Server von PHP gestartet werden.

Die Datei oxid.phar.php befindet sich nach der Erstellung im Verzeichnis /public.

Dev

Prod

Vorgang & Überlegungen beim Hackathon 2019

Bei der Themenfindung ist uns relativ schnell klar geworden, dass diese beiden Projekte zusammen entwickelt werden müssen. Der Installer, um die Benutzerfreundlichkeit zu erhöhen und den Kernel der die Pakete entgegen nimmt und bei Bedarf in Oxid integriert und Bundles ohne aufwand nutzbar macht.

Warum ein Composer installer?

Composer bietet den Vorteil, Software von verschiedenen Webseiten zu installieren und ebenso zu aktualisieren. Eines der wichtigsten Werkzeuge ist dabei die Kontrolle über die kleinste bzw. höchste Version eines zu installierenden Paketes.

Neben den Vorteilen, beklagen mehrere Benutzer über all im Netz zu recht, dass Composer unnötig kompliziert ist. Pakete können nicht gefunden werden, Abhängigkeiten sind veraltet oder falsch definiert, der Arbeitsspeicher reicht nicht aus und die Konsole löst bei einigen unerfahrenen Benutzern unbewusst stress aus.

Um die Vorteile zu nutzen und die Nachteile möglichst zu kompensieren, wurde das Projekt eines Installers gestartet. Wichtig zu erklären, dieses Modul muss gänzlich unabhängig von Oxid funktionieren und es sollte maximal FTP nötig sein, um den Installer hochzuladen. Damit wären Benutzer in der Lage, Oxid mit aufrufen des Installers zu installieren.

Ablauf

  1. Der Installer wird im Oxid-Backend Module installieren können, zumindest dafür wird keine Konsole mehr nötig sein
  2. Der Installer wird ohne Oxid nutzbar sein
  3. Der Installer wird Pakete von anderen Quellen als Packagist installieren können
  4. Firmen werden private Pakete anbieten können

Vorteile & Pläne

Es sollte ebenfalls möglichsein, Module automatisch zu aktivieren und die Datenbank zu aktualisieren nach der Installation oder einem Update.

Warum Symfony?

Oxid integriert mit Version 6 bereits einige der Symfony 3 Komponenten, es fehlt allerdings noch die Möglichkeit Symfony-Bundles zu installieren und deren Funktionalität über einen Kernel zu aktivieren. Die primäre herausforderung ist es, einen Kernel zu schaffen der automatisch Bundles vial Composer entgegennimmt, aktiviert und weiterhin den normalen Ablauf von Oxid gewährleistet.

Symfony hat sich mit seiner enorm großen Community als stabil und innovativ in der PHP-Welt etabliert. Es bietet Workflows und fordert eine gewisse konsistenz in Code und Schreibweise. Firmen die Beispielsweise Payment-Module herstellen, wäre in der Lage ein Zentrales Tool entwickeln und bräuchten für die Shop welche auf Symfony setzen, nur noch einen Treiber schreiben, der dem jeweiligen Shop erklärt wie die Funktionen des Modules nutzbar sind.

Hinweis: Da Oxid auf PHP 7.0 und 7.1 läuft, bzw. diese beiden Versionen kommuniziert, kann nicht Symfony 4 oder höher geladen werden. Einige der Komponenten ab Version 4 erwarten bereits PHP 7.2 und höher.

Vorteile & Pläne

Warum sind wir nicht fertig geworden?

Das Projekt ist schon sehr weit Fortgeschritten und kann nun von jedem weiterentwickelt bzw. von Entwicklern genutzt werden. Wir bieten jetzt schon den Kernel zur Nutzung an. Die Installation via Composer wird noch etliche Wochen (Monate) dauern. Die reine Funktion sollte relativ schnell aufgestellt sein, der Löwenanteil wird die Herstellung der Kompatibilität für alle Hoster, Entwicklungsumgebungen, Betriebssysteme und Software-Versionen darstellen.

Wir sind in jedem Fall auf etwas Gedult und viel Feedback angewiesen.


All versions of moduleinstaller with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
oxid-community/symfony-kernel Version dev-fix-endles-update
oxid-community/symfony-security-bundle Version *
composer/composer Version ^1.9
symfony/twig-bundle Version ^3.2
symfony/dotenv Version ^v4.3.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package oxid-community/moduleinstaller contains the following files

Loading the files please wait ....