Git Product home page Git Product logo

silverstripe-seed's Introduction

Seed

Build Status

The recommended module compilation for a base project, which provides the most common, and what we consider to be, the most fundamental components when building an intuitive and flexible platform for both users and developers alike.

These module dependencies will be updated over time, so please keep an eye out for future releases!

Requirement

  • SilverStripe 3.1 โ†’ 3.6

Getting Started

The recommended approach is to use composer, considering the large number of module dependencies.

What's Included?

Among some quality of life improvements, you'll find the following modules included (and their benefits below).

Better Buttons

This provides more intuitive buttons when viewing data objects.

Data Change Tracker

This provides improved content change tracking.

Display Logic

This provides the ability to automatically show/hide form fields based on conditions.

This provides a search page for user customisation and developer extension, including analytics and suggestions.

Fusion

This provides searchable content tagging (using taxonomy terms).

Google Sitemaps

This provides an automatically generated XML sitemap for your site/s, helping them rank higher with search engines.

Grid Field Extensions

This provides some handy grid field components, such as orderable rows.

Grouped CMS Menu

This provides the ability to group the CMS menu, helping clean up the interface for content authors and administrators.

Honeypot Spam Protection

This provides a simple means of spam protection across forms, and is automatically applied to user forms.

Linkable

This provides an object that can help manage links, without needing to worry about edge cases.

Listing Page

This provides a page to display arbitrary content listings.

Mediawesome

This provides dynamic media holders/pages with customisable attributes, such as blogs and news.

Metadata

This provides the ability to annotate data objects, based on a given schema.

Multisites

This provides the ability to manage multiple sites from your site tree.

Multisites Google Analytics

This provides google analytics support for your site/s.

Queued Jobs

This provides the ability to schedule jobs that run at specific times/intervals.

Quick Add New

This provides the ability to create new data objects on the fly when using relationships.

Secure Assets

This provides the ability to restrict file access, similar to pages.

Sitemap

This provides an automatically generated HTML sitemap for your site/s, helping them rank higher with search engines.

Taxonomy

This provides nested content tagging (searchable using fusion).

Timed Notices

This provides the ability to display a message to specific CMS users, for a specified duration.

User Forms

This provides a visual form builder, allowing content authors to put their own forms together.

Versioned Files

This provides versioning to files, similar to pages.

Suggestions

You'll also find a number of modules that are suggested (more below), however these are optional, and depend on what you're aiming to achieve.

Advanced Workflow

This allows a review and approve process for content publishing.

Blocks

This allows a modular approach to building a page layout.

Dynamic Cache

This allows simple yet flexible caching out of the box for dynamic content, including forms.

Elemental

This allows a modular approach to building page content.

silverstripe-seed's People

Contributors

neumes avatar nyeholt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

silverstripe-seed's Issues

Enforcing SSL

There was a discussion a little while back in regards to this feature, and since I never got around to implementing it, I thought I would throw it here until somebody finds the time..

The idea was to have a controller extension defining an "enforce SSL" flag, where a request filter is used to determine whether SSL should be enforced for the specific page.

3.5 Issues

The following are known problems when using 3.5..

Issues when upgrading existing sites with config order

Due to the name change from ba-sis to seed, mysite's config comes in before ba-sis which can mess with the LeftAndMain::menu_groups ordering.

We'll need to be wary of other ordering/breakages that could occur with this.

Error when creating a CustomMenuBlock

I'm getting the following error when adding a new Custom Menu Block

[User Error] Uncaught LogicException: filter can't be called on an UnsavedRelationList.

GET /admin/block-admin/Block/EditForm/field/Block/add-multi-class/CustomMenuBlock

Line 319 in /Users/tardinha/www/dpc-hub/framework/model/UnsavedRelationList.php

Source

310     public function dataQuery() {
311         throw new LogicException(__FUNCTION__ . " can't be called on an UnsavedRelationList.");
312     }
313 
314     public function exclude() {
315         throw new LogicException(__FUNCTION__ . " can't be called on an UnsavedRelationList.");
316     }
317 
318     public function filter() {
319         throw new LogicException(__FUNCTION__ . " can't be called on an UnsavedRelationList.");
320     }
321 
322     public function getRange($offset, $length) {
323         throw new LogicException(__FUNCTION__ . " can't be called on an UnsavedRelationList.");
324     }
325 

Trace

  • UnsavedRelationList->filter(ParentID,0)
    CustomMenuBlock.php:28
  • CustomMenuBlock->getCMSFields()
    GridFieldDetailForm.php:388
  • GridFieldDetailForm_ItemRequest->ItemEditForm(GridField,SS_HTTPRequest)
    GridFieldDetailForm.php:302
  • GridFieldDetailForm_ItemRequest->edit(SS_HTTPRequest)
    RequestHandler.php:288
  • RequestHandler->handleAction(SS_HTTPRequest,edit)
    RequestHandler.php:200
  • RequestHandler->handleRequest(SS_HTTPRequest,DataModel)
    GridField.php:728
  • GridField->handleRequest(SS_HTTPRequest,DataModel)
    RequestHandler.php:222
  • RequestHandler->handleRequest(SS_HTTPRequest,DataModel)
    RequestHandler.php:222
  • RequestHandler->handleRequest(SS_HTTPRequest,DataModel)
    Controller.php:153
  • Controller->handleRequest(SS_HTTPRequest,DataModel)
    LeftAndMain.php:443
  • LeftAndMain->handleRequest(SS_HTTPRequest,DataModel)
    AdminRootController.php:93
  • AdminRootController->handleRequest(SS_HTTPRequest,DataModel)
    Director.php:370
  • Director::handleRequest(SS_HTTPRequest,Session,DataModel)
    Director.php:153
  • Director::direct(/admin/block-admin/Block/EditForm/field/Block/add-multi-class/CustomMenuBlock,DataModel)
    main.php:177

Update User Forms to 4.x

The 4.x versions of User Forms fix some XML escape problems and it changes the error message to render at the field level, rather than promoting field level errors to the top of the form.

SecurityLoginExtension need?

Is the extension needed ?

657d0a7#diff-01e6ceb290b12ddbb88f00ce3178c4f6

Security.php does

if($this->getRequest()->requestVar('BackURL')
			&& !$this->getLoginMessage()
			&& ($member = Member::currentUser())
			&& $member->exists()
		) {
			return $this->redirectBack();
		}

as part of preLogin, so I'm not sure what SecurityLoginExtension is doing that this doesn't already.

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.