juku / jukucms Goto Github PK
View Code? Open in Web Editor NEWOpen Source CMS should be the fastest CMS world wide (WIP).
License: Other
Open Source CMS should be the fastest CMS world wide (WIP).
License: Other
Pagerights
Add option to auto upgrade HTTP request to HTTPs (redirect?).
Description comes later.
We should support custom content-type per page (sended in HTTP header).
Groups & permission System.
We should add an api to send mails.
This api should support SMTP mail and also php mail function. In global settings user can choose which option is used.
Supported mail types:
Package: com.jukusoft.cms.mail
Class (example name): MailApi
Methods (example):
Important! Plugins should able to add options!
It should be possible to send mails to more than one user.
Other packages & plugins should use this api to send mails from board.
Currently events are supported, but not executed. We should implement this.
Validator for integer
Add option to allow page redirects on page, e.q. if page alias starts with "redirect:".
There is also a column "redirect_code" (301 / 302) for this feature in database.
Logout
Api for https://uptimerobot.com/
Configure Session TTL
Page Content isnt shown in template varibale {CONTENT}.
User System
Validator for usernames
Add global settings as a key-value-store as package com.jukusoft.cms.settings and create database table in db-repair.php .
Module / Package : com.jukusoft.cms.settings
Class : Settings (system/packages/< Package Name >/classes/settings.php)
API (static methods) :
Cache all settings in one cache File!
(All settings --> Key-Value-Array --> Cache::put())
On first get() call all settings should be loaded once from cache and stored into a local, private static variable.
Table :
Description comes later.
Currently mobile detection is not really fast.
Maybe, we can improve performance with cookies in class Browser (package: com.jukusoft.cms.browser).
@PascalReintjens german comment:
Wir sollten dann vielleicht im Interface darauf hinweisen dass dieser Selektor-Typ Performance-Einbußen mit sich bringt. Vielleicht würde es auch Sinn machen das nur einmal zu testen und einen Cookie abzulegen
Set configuration for sessions for better security:
http://php.net/manual/de/session.security.php
If CMS is installed in a sub directory and not in root directory of domain, we should add a base_url, so urls are generated in a form http(s)://<Domain><Base URL><Page>
.
By default, base_url should be "/". If CMS is installed in a sub-directory, it should be "/sub-dir/".
Without Base_Dir option all generated urls are wrong, if CMS is not installed in root directory.
Btw, the base_url should be depend on domain.
User Counter Plugin
If someone edits a page, the page should be locked, so other people cannot edit this page on same time.
Joomla uses also locks, but wordpress doesnt (?).
How does wordpress handle this?
Maybe the user is hosting this CMS on another port than 80 or 433 (e.q. 8080), so generated urls should be corrected.
We should support a specific port for every domain, if user wants this (optional).
See also #49 .
Maybe we should also support LaTeX as pages.
For login / registration a ldap support will be nice.
http://php.net/manual/de/book.ldap.php
Depends on #187 .
A task schedular will be a nice thing.
Taks should be executed on end of page or by cronjob.
Package: com.jukusoft.cms.tasks
For global settings page a datatype for every setting is required (add new column in database and in Settings::create() method) so that settings page can show correct input field (e.q. text field oder select-box) and can validate data.
Every Datatype should get a own class.
Implement group members.
List with free templates:
test
Provide a api to get country of IP.
Add a reset password function, so a mail is sended to the user with a password reset link.
This feature should be included in package com.jukusoft.cms.user. Also add a global setting so user can choose if passwort reset is allowed. Maybe we should also implement a permission, so only specific accounts can be resetted and some not (e.q. administrators).
Login
We should profile twig template engine, so maybe we can replace xtpl Template Engine with Twig.
Registration Mail Verification
Show memcached stats in admin area.
Menus should have permissions, so they are only shown, if user has permission.
Registration
For browser caching we should support E-Tags.
Validator for IP address
User Counter Plugin
Create a new PageType "Error404Page" (extends HTMLPage) and set header to 404 not found in method setCustomHeader().
http://php.net/manual/de/function.header.php
Whenever a new password is set, it should be checked against the haveibeenpwned.com Pwned Passwords list and rejected if the password appeared in a data breach: https://haveibeenpwned.com/Passwords
Detailed information (including API endpoint and implementation suggestions) here: https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/
Plugins should be able to add custom registration fields.
Group System
We should add HTTP cache control for proxy servers, so proxy servers dont cache html pages static (no dynamic content will be available, if they are cached static).
Add support for global and local meta tags.
Write CMS architecture to wiki.
In addition to HTML pages we should also allow markdown pages (e.q. for wikis).
Plugin Developer Guide
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.