Giter Club home page Giter Club logo

multisites's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

Forkers

mazdev

multisites's Issues

Multisites v2 design

Gabriel (@gfr) and me are going to do a new major version of Multisites.

  • based on ModuleStudio
  • based on Zikula 1.3 (going to be regenerated for 1.4 later of course)
  • considering a review of what can and should be improved
  • including existing GitHub issues

Today I created a first model just reflecting the current state of the module plus some minor additions, like some custom actions and ip address checks and an index for the site table. I think that the model will be subject of several iterations when we incorporate open tickets and wishes into the concept.

Controller:
multisites_v3_controller

Model:
multisites_v3_model

cc: @Drak @rallek @cmfcmf

Global admin password improvements

  • Store admin password in multisitessites table as hash instead of cleartext
  • Allow setting a completely new password for a certain site / for all sites

Reuse the same site for different domains

From @rallek

Thinking about multisites:

is it possible to have the same site (same database, theme, modules, ...) with different entry points?

e.g. www.mysite.tld do have the news module configured for index.php and myentrypoint.mysite.tld do have a configured content page for index.php?

This can be a usecase for my pggo.de site. Different sub-communities (e.g. a Kindergarden, a YMCA-group, ...) of the complete community do want to have their own subdomain or even main domain.

Proposal for new unique site alias

I propose introducing a new alias for each site instance which can be used for naming directories (instead of using the domain for that). Background and motivation is driven by the fact that a domain is not very long-living. For example if you setup a page at test.example.com and move it to www.example.com later, all images included will change their pathes (like /userdata/msData/test.example.com/data/MyMod/myfile.ext).

asset fixes

replace anything starting with web/ e.g.

{{ pageAddAsset('stylesheet', 'web/bootstrap/css/bootstrap.min.css') }}

with

{{ pageAddAsset('stylesheet', asset('bootstrap/css/bootstrap.min.css')) }}

replace

{{ pageAddAsset('javascript', 'jquery') }}

with

null - jQuery is added always

This doesn't work, I think.

{{ pageAddAsset('javascript', 'zikula') }}

the new system has no provision for 'aliases' like the old did.

at present I do not have a good solution.

I'm not sure JS get text ever worked properly anyway

Tests and bugfixing

Ensure everything is working with Zikula 2.x.
Or regenerate for Zikula 3 directly.

Language whitelist per page

It should be possible to define the allowed languages for each page. Currently all locales existing in the system are available in all sites having multilanguage capabilities activated.

Add custom override folder per site

Each site could have an additional app/Resources folder, too, which has a higher precedence.

  • namespaced notation (@Bundle/template.html.twig)
    • Implement a listener similar as Zikula\ThemeModule\EventListener\TemplatePathOverrideListener
  • old name-scheme (Bundle:template)
    • Requires a change in Zikula\ThemeModule\HttpKernel\ZikulaKernel::locateResource

CI support

Change repo structure for better Jenkins support.
Provide configuration for testing and code analysis.

Fix and improve updating of core and extensions

This issue is for brainstorming.

  • Function for updating the db schema for a certain module (Doctrine updateSchema)
  • Function for updating the models/templates/sqldumps. Templates must be handled in a better way for this, e.g. by managing them in dedicated databases, too. So templates are just complete installations which are not used yet. Then normal update methods could be applied there easier than having to merge sql dumps.

Variant 1

  • a file called upgrader.php contains the list of modules and additionally required sql commands
  • one creates a text file with a list of all affected sites, whereby each line contains a URL like http://..../site/upgrader.php.
  • one creates a shell script calling the addresses, e.g. every 2 minutes
  • if only a certain module is updated then only this module is refered to in the upgrader.php file.
    foreach ($newmods as $newmod) {
        ZLanguage::bindModuleDomain($newmod['name']);
        ModUtil::apiFunc('Extensions', 'admin', 'upgrade', array('id' => $newmod['id']));
    }

Variant 2

  • List of databases
  • Required sql statements
  • Multiply and execute

Notes

SELECT table_schema FROM information_schema.tables
WHERE table_name = 'some_module_table';

Multisites Docs?

I don't see a /docs folder, are there docs available for installing and configuring Multisites?

Finish migration to Zikula 2

  • Drop unneeded site extension table
  • Introduce subsite module
  • Move and update ReplaceParameters handler
  • Add DynamicConfigurationListener
  • Dynamically set kernel parameters temp_dir and datadir (see app/config/parameters.yml)
  • Each site needs a subfolder of web/uploads/ as well as custom cache and logs folders
  • Dynamic database connections
  • Dump subsite config json file as read in DynamicConfigurationListener
  • Migrate main configuration file handling
    • Settings in /app/config/dynamic/generated.yml
    • Remove config-folder/multisites_config.php
    • SystemHelper
    • ConfiguratorHelper / Configuration wizard
  • Fix all TODO markers
  • Update docs

New themes will not be read in

If I add a new theme on the server, the new theme will not be read into the database of the main site. For the instances this theme is available.

Customise admin area

After the prototype has been generated the admin UI must be rearranged and customised.

Provide sql multiplier and shell

Possibility to multiply and perform queries on several databases (all or selected ones).
Should be explicitely marked as expert function.

Idea: Option for asset CDN

For utilising browser caching it could be advantageous to have an option with which one can enable that all assets (like JS libraries) are always served from either the main domain or a custom domain (entered by the admin).

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.