- All generated widgets now have an edit view. You can access the edit view via the widget edit
menu
Edit widget
. The edit view uses simple Ruby on Rails helper to ease the creation of custom edit view input fields for all different kinds of CMS attributes. TheCmsEditHelper
provides methods for all CMS attribute types, eventhough not all of them are yet supported for editing.linklist
, anddate
attributes are only readable. The edit view also features a helper to create a label that is marked as required, if the attribute is required in the CMS. - Update
infopark_rails_connector
andinfopark_cloud_connector
to version 6.9.2.1.125136549 and Ruby on Rails to version 3.2.14. Also other minor gem updates. - Bugfix: Widgets no longer create an entry in the
en.obj_class.yml
file, as they are not displayed in the obj class browser and therefore don't need a translation. (Thanks @EtectureVolkerBenders) - All widgets now have some new options to not only create the structure, but also an example. You
can call
--example
and optionally--cms_path
and--attribute
to determine the location of the example widget. For example,rails generate cms:widget:slider --example --cms_path=/website/en --attribute=main_content
creates the example on the english homepage. - Simplified widgets by focusing on their main functionality and making them more generally
usable. For example, we changed the
TextWidget
to only have one html attribute, instead of an additional headline. But, in order to mix and match widgets more easily, we created a newHeadlineWidget
. We did that for almost all widgets, which makes them more flexible. (Thanks @thomaswitt) - Removed the name of the controller in the body html tag, because we noticed that it used only on
special pages and leads to conflicts on overview pages, for example
blog_post
. (Thanks @agessler) - Bugfix: The
redirect_link?
was still used in the redirects controller, but is no longer generated by thecms_attribute
model class method, so it usesredirect_link.present?
instead. (Thanks @thomasritz) - Renamed
HeroUnitWidget
toTeaserWidget
, which is not so much tight to the Twitter Bootstrap wording and should now be more clear to editors. (Thanks @thomaswitt) - Renamed
BlogEntry
toBlogPost
to adjust to the more common wording. (Thanks @thomasritz) - Bugfix: Kickstarter gems are now installed right after they are inserted in the Gemfile to
prevent an error message, when running
rails g cms:kickstart
. (Thanks @dcsaszar) - Changed the
hero_unit
widget description to be more precise and not self referential. (Thanks @krishan) - The
developer_tools
and thesitemap
are now part of every kickstarted project. - The
maps
widget is now part of the examples generated when runningrails generate cms:kickstart --examples
. - Removed the
.well
class from all widgets, as most projects removed it right away. - Bugfix:
Homepage
model was missing cms attribute definitions forsort_key
,main_content
andshow_in_navigation
. (Thanks @Etecture) - Excluded
LoginPage
andResetPasswordPage
from the Sitemap. - Bugfix: Adopt
body_attributes
helper method, to be independent from the given cms object, so it also works on non cms pages correctly. (Thanks @Etecture) - Removed unused
headline
string attribute fromImage
andSliderWidget
. - Added
headline
string attribute toSearchPage
. - Added notice to restart the server when generating the developer tools. (Thanks @rouvenbehnke)
- Removed
Gemfile.lock
from version control and updated gems. (Thanks @spiderpug)
- Updated most of the gems to the current version, eventhough we don't support Rails 4 yet.
- Bugfix: Error page now uses a correct grid layout and displays the content correctly.
- Removed unused footer links feature. This feature did not reflect the needs of an actual project. A how-to guide will be integrated in the Infopark Dev Center.
- The developer tools (rake cms:component:developer_tools) got a new Infopark Developer Bar. This
is an extension of the
rails-footnotes
gem and displays helpful information and links at the bottom of each page. (Thanks @thomasritz) - Insert a placeholder image in the slider widget if no images are configured. This is the case, when the widget is created. (Thanks @rouvenbehnke)
- Added
--page
and--widget
options to the model generator to allow to turn a model into a page or widget object via the command line. Seerails generate cms:model --help
for more details. (Thanks @thomasritz) - Added a simple breadcrumb navigation that displays pages up to the homepage on top of the page.
Run
rails generate cms:component:breadcrumbs --help
to get further details. (Thanks @rouvenbehnke) - Refactored twitter bootstrap integration to more easily allow changes and give examples on how to customize the bootstrap framework.
- Added a login widget that allows the editor to place a login form anywhere on the page. The
login widget also holds a link to reset the password and displays a logout link and the login of
the current user if the user is already logged in. Run
rails generate cms:widget:login --help
for more details. The login widgets depends on the corelogin_page
component. - Moved login logic into a separate component to allow more flexibility and easier future
maintainance. You can generate the login page by running
rails generate cms:component:login_page
. In the course thereof, support was added to reset the password. - Controls for the generic video player (flowplayer) are now enabled by default. (Thanks @steenkamp)
- Moved tasks
cms:console
,cms:status
,cms:info:obj_classes
andcms:info:permalinks
under theinfopark
namespace. You get an overview of all available rake tasks by runningrake -T
in your project folder. - Added a new rake task
infopark:info:system
to create an overview of your system that can help the Infopark support team to more quickly adress your issues. - Bugfix: The Ruby on Rails application could not handle invalid utf8 characters in the request
url. The gem
utf8-cleaner
fixes that. - Bugfix: Ghost paths (an object with a missing parent) are now handled correctly when searching for their homepage.
- Footer navigation refactored to highlight and reposition the company reference and add a tiny remark to display the platform the webpage is build on.
- Extended footer navigation links to include link to the Dev Center User Guide.
- Added a sitemap component that dynamically generates a sitemap.xml file.
- Added a slideshare widget that embedds the slideshare player for a given slide url. See
rails generate cms:widget:slideshare --help
for more details. - Bugfix: The slider widget used a wrong attribute of the image link to display the slider headline.
- The page title is now created dynamically as a combination of the title attribute and the homepage title. (Thanks @benzimmer)
- Added a rake task
rake cms:reset
that resets the CMS completely. Please be cautious when using this command, as it completely wipes your CMS content and is not reversable. So use it on your own risk. - By default only "superuser" are now allowed to edit on the production website. This is due to a change in the WebCRM. (Thanks @Peter Mielke)
- A fallback menu title
[no headline]
is now displayed in the menu bar, when a new object is created via the page menu. (Thanks @franziska-luecke) - Query parameters are now kept on redirects. (Thanks @thomaswitt)
- Added the option
--examples
to therails generate cms:kickstart
command, that will generate basic components together with setting up the project. This should simplify the getting started process for beginners. - Added a hero unit widget, that displays a more visually highlighted headline and body and also allows to place a link button below.
- Updated
rails generate cms:kickstart
to include the search panel in the main navigation and - Switched from Ruby mixins to class level attribute definition to reflect and fully support local
cms obj class attributes. You can now define a cms attribute directly on the model using
cms_attribute :headline, type: :string
for example. See generated model classes for more examples. - Removed float attribute type, as it was only used in special cases and it can be easily integrated manually.
- Added support for inplace navigation editing. All relevant obj classes now have a
thumbnail.html.haml
in their view directory that gets displayed in the obj class browser, when editing the main navigation. - It is now not longer necessary to call
rails generate rails_connector:install
before runningrails generate cms:kickstart
. - Switched from system attributes title and body to custom attributes headline and content.
- Updated to latest Infopark RailsConnector. Moved widget view templates into
views
folder. Replaced workspace toggle against new menu bar and added support for toclist inplace editing and inplace image upload. - Added a form builder component that allows editors to define a form in the WebCRM. You can add
different kinds of input types and set required fields as well. Run
rails generate cms:component:form_builder --help
for more information. - Extracted out testing setup into its own generator which is no longer part of the kickstart in
order to decrease starting complexity. Please run
rails generate cms:component:testing
to add get it back. We also did this step in order to further improve and extend the functionality in the future, like adding integration testing or supporting different provider. (Thanks @cedrics) - Extracted out developer tools into its own generator which is no longer part of the kickstart in
order to decrease dependencies. Just call
rails generate cms:component:developer_tools
if you want them back.thin
gem was added to replace the default Rails webserver WEBrick. (Thanks @cedrics) - Improved introduction page, when the current working copy does not have a homepage, by switching to a more positive message, giving clear directions and smoothing the transition to more help through links in the footer.
- Extracted the redirect functionality into its own generator which is no longer part of the
kickstart in order to decrease complexity. Please run
rails generate cms:component:redirect
to get it back. (Thanks @cedrics) - The language switch is now generated without an example. Use
rails generate cms:component:language_switch --example
for the old behavior. - Useless, empty controller
index
actions got removed. - Useless spec files got removed.
- Bugfix: Some widgets still had a sort key attribute, which is not longer needed due to the built in sort feature of widgets.
- Bugfix: Widgets did not place their migrations in the widget folder.
- Bugfix: The Dashboard crashed when global attributes were used and did not display the list of global attributes. (Thanks @TWT)
- Bugfix: The Dashboard people page did not work, if no
config/deploy.yml
file was given. - Bugfix: The WebCRM was not initialized correctly after running
rake cms:kickstart
. - Bugfix: The page method of the widget concern did not return the correct page, where the widget was placed in.
- Added a widget generator to create and integrate widgets of any kind. See
rails generate cms:widget
for more details. - Bugfix: Timestamped ids are now used when creating migrations.
- Presents a nicer error page, when the choose homepage callback does not return a homepage.
- Removed the user manager as it was way too complicated and didn't fit the more general use case. This lead to some refactorings of the profile, login and contact page, which should be much clearer now.
- Added social sharing component, that lets you easily integrate social sharing provider to share the current url. (Thanks @jan-hendrik)
- Bugfix: The workspace toggle did not always display the correct workspace title.
- Simplified the contact page component to a more general and understandable use case. Removed "valid_email" dependency and user attributes prefill. The contact page is no longer placed under "_configuration" and linked on the homepage, but can be placed like a normal page anywhere in the hierarchy.
- Bugfix: Deployment task returned an 406 error, because the url params were not formatted correctly.
- Supports widgets to put their locale files into the widget directory.
- Switched to inplace editing and the Infopark widget framework. This also removes the need for concrete widget examples, as they can easily be inserted on each page via the widget browser. A toggle is placed in the main navigation bar to switch to edit mode. (Thanks @cocodercoder)
- Kickstarter now uses local attributes only, because global attributes are deprecated and their usage is discouraged. See News for further details.
- Bugfix: Added "sort_key" to GoogleMaps Box. (Thanks @franziska-luecke)
- Added monitoring rake task for future extension to other monitoring provider. See
rake cms:component:monitoring
for further details. - Renamed
flash_message
toflash
, simplified and streamlined use of cells. - Added rake task to retrieve a list of all permalinks and their paths. See
rake cms:info:permalinks
for more details. - Search support moved into its own generator and got cleaned up and simplified. See
rails generate cms:component:search --help
for more details. - Edit-Marker no longer are included by Infopark Kickstarter, as it became a default feature of of Infopark RailsConnector. (Thanks @thomasritz)
- All rake tasks now use RestClient instead of curl, for better compatibility and consistent use of accept headers. (Thanks @awendt)
- Bugfix: Dashboard could not be displayed, because the engine files were not packaged in the gem.
- Added
honeybadger
as an error tracking provider. This will also be the default from now on instead ofairbrake
. Runrails generate cms:component:error_tracking --provider=honeybadger
to install. - A new slider box type was added. It slides selected images and displays there title in an
overlay. See
rails generate cms:widget:slider --help
for more details. - Bugfix: Creates file
before_migrate.rb
if it doesn't exist yet. This fixes an annoyence that was reported several times. - Speed up kickstart time by grouping gem setup at the beginning. (Thanks @sethiele)
- A new person box type was added. It allows to display a crm person with some details like her
name and email. See
rails generate cms:widget:person --help
for more details.
- Renamed gem from
ice_kickstarter
toinfopark_kickstarter
. Please update yourGemfile
to get the latest version. - Added blog component to generate a basic blog with RSS and comment functionality based on the
box framework. Call
rails generate cms:component:blog --help
to get started. - Added
image_url
application helper to determine the external url of an image. - Added rake task to check the status of the Infopark Cloud-Express Platform. Run
rake cms:status
to get current status information. - A new video box type was added. It allows to play videos from the CMS, vimeo and youtube. See
more details running
rails generate cms:widget:video --help
. - Added video obj class to the kickstart generator. This allows to upload and handle videos in a dedicated obj class.
- Cleaned up the composition pattern used to add common behavior to object classes. You can
differentiate between a
Page
and aBox
by mixing in a module in the model class. - Updated links to the Infopark Console to
https://console.infopark.net
. - Bugfix: The markup for box titles is no longer displayed, when no title exists.
- Cleaned up and extended the composition pattern used to add common behavior to object classes.
You can now differentiate between a
Page
, aBox
and aResource
. - Added rake task
rake cms:console
to open the Infopark console directly from the command line. This introduces a new dependency on the launchy gem. (Thanks @thomasritz) - Bugfix: The CMS webservice returns
RestClient::PreconditionFailed
notRestClient::InternalServerError
when asked for the Github users when there is no Github repository configured. (Thanks @awendt) - Added model generator option to set mandatory attributes. For example:
rails generate cms:model Foo --attributes=foo bar baz --mandatory_attributes=bar baz
. - Added model generator option to preset attributes. For example:
rails generate cms:model Foo --attributes=foo bar baz --preset_attributes=foo:f bar:b
. - Added attribute generator option to preset the attribute value. The default depends on the type
of the attribute. For example, to create an integer attribute that has
10
configured as a default, you callrails generate cms:attribute my_attribute --type=integer --preset_value=10
. - Added attribute generator option to set the name of getter method. For Example:
rails generate cms:attribute my_attribute --type=integer --method_name=foo
. (Thanks @cocodercoder) - Added support for integer and float attribute types. For example:
rails generate cms:attribute count --type=integer
orrails generate cms:attribute latitude --type=float
. - Newrelic generator now sets up developer mode. (Thanks @Kieran Hayes)
- Bugfix: Newrelic generator did not insert the correct website name in the deploy files. It also does not depend on the kickstart generator anymore.
- Bugfix: Newrelic generator did not differentiate between the deploy and the api key for deployment notifications.
- Bugfix: The dashboard does no longer depend on the flash messages of the host application.
- Bugfix: The contact form raised an error when there was no user logged in.
- Airbrake component now includes secure option by default and does not depend on the kickstart generator anymore. Also added option "--skip-deployment-notification" if you don't resolve all error notifications on deployment.
- Airbrake component is now available as the default provider for the error tracking component.
This allows to support different error tracking solutions in the future. Run
rails generate cms:component:error_tracking --help
to get an overview. You can still call the Airbrake generator directly by runningrails generate cms:component:error_tracking:airbrake
. - Updated contribution section in the README, which should make it easier for developers to setup and add features to the project.
- Updated Infopark gems and required
bundler >= 1.3.1
to also work with newer RubyGems versions. - Profile Page Component: Added option to skip the import of country translations.
- Bugfix:
application
javascript manifest needs to be loaded beforerails_connector_after_content_tags
. (Thanks @apepper) - Added support for markdown attribute type. For example:
rails generate cms:attribute body_md --type=markdown
. (Thanks @thomasritz)
- Renamed
error_404
toerror_not_found
. - Moved flash messages and workspace toggle into its own cell for better reusability and separation of concerns.
- Simplified cms attribute concerns for easier understanding and extensibility.
- Added support for https S3 urls in
obj.rb
. (Thanks @thomasritz) - Added Https before filter to force https in live environment. Make sure to set a hostname in
app/controllers/filters/https.rb
before deployment. (Thanks @thomasritz) - Bugfix: There was an UTF encoding issue in the contact page generator. (Thanks @mremolt)
- Removed fixed versions on most of the base gems to install newest versions on project setup.
- Removed
rails-footnotes
asbetter_errors
made it superfluous in most situations. - Added a profile page generator that adds a link in the meta navigation when the user is logged in. On the profile page, the user can edit all kinds of attributes that will be saved to the web crm.
- Changed default homepage to
en
and updated examples accordingly. - Updated
less-rails-bootstrap
to version 2.3.0 andrspec
to version 2.13.0. - The BoxText and BoxImage widgets are now a separate generator and can therefore be called with
rake cms:widget:text
. If you also want to create an example, you can add the--cms_path
option. Both widgets are still included in the Infopark Kickstarter base generator. - Added support for boolean attribute type. It fakes a boolean by creating an enum with "Yes" and "No" values and provides query method in the attribute module.
- The newrelic generator now extends the local
custom_cloud.yml
file, runsbundle --quiet
because it adds a new gem and prints a notice to update the custom cloud platform configuration. - The airbrake generator now reads in the api_key from the
custom_cloud.yml
, extends the localcustom_cloud.yml
file, runsbundle --quiet
because it adds a new gem and prints a notice to update the custom cloud platform configuration. - The
custom_cloud.yml
is now loaded in an initializer and is available as a hash in the global Rails configuration asRails.application.config.cloud
. The initializer is created in such a way, that it is loaded before the rest of the initializers are run, so that it can be used in the following initializers as well. - A new google maps box type was added. It allows to easily create a map and place pins on it.
The new box type is part of the base Infopark Kickstarter functionality but is also
available as a separate generator. Call
rails generate cms:widget:google_maps --help
for more information. - Added three additional rake tasks to easily edit the cloud config file, that holds configuration
parameters that should not be checked in to the version control system. See
rake -T cms:cloud_config
for more details on the tasks. - The user manager now allows to find an user by id. The remote user with this id is retrieved and then mapped to an application user.
- haml-rails is not longer required by the dashboard, but only haml. This prevents the default rails template engine to be set for the host application. (Thanks @mremolt)
- A website object can now be asked for all its homepages and returns a list of all Homepage objects.
- A language switch allows to navigate from one language homepage to another. All languages are listed in the sidebar. The current language is not linked.
- Added README information on how to create a
deploy.yml
file and what content it needs to hold.
- Added two new rake tasks
rake cms:info:attributes[workspace]
which returns a list of attributes and their type andrake cms:info:obj_classes[workspace]
which returns a list of object classes and their attributes. For each task the workspace can optionally be provided. - BoxImage now supports a link attribute, that defines if and where the displayed image is linked to.
- Support for
Redirect
cms objects. They allow to create a navigation item, for example, that redirects to a different page. - Assets are now shared between deployments via
before_migrate.rb
deploy hook. - The body tag now holds the name of the current controller. This allows easier css scoping.
- Included BetterErrors and BindingOfCaller as core development gems. Also added an developer initializer file that is ignored by default.
- The Infopark Kickstarter now depends on Ruby 1.9.3. Please make sure to upgrade your Ruby version and use the latest Infopark gems. We recommend to use the new hash syntax throughout the project.
- Added authorization support to simply protect access to a page via a before filter. Use
before_filter Filters::Authorization
in your controller to protect the entire page. - Complete refactoring of user management. Separated application user model from its remote user
model by introducing an application wide user manager. A default implementation is given for the
Infopark WebCRM. This makes it possible to easily swap the user manager to LDAP for example. A
mapper class is used for the communication between the two, possibly different, user models.
Have a look at
app/models/user.rb
for how it is implemented exactly. - Added optional contact_page component that is connected to the WebCRM and prefills email, when
user is logged in. Call
rails generate cms:component:contact_page
. - Added Infopark Developer Dashboard mounted under
/cms/dashboard
. The dashboard is only available for local requests and completely separated from your Ruby on Rails application. - Bugfix: Workspace Toggle no longer displays an empty list, when there is only one workspace.
- Changed
rake cms:deploy:live
torake cms:deploy
as there is no other environment yet. - Added optional google analytics generator. Tracking ID and Anonymize IP Setting can be configured in the CMS for each homepage. Default settings can be given as generator options.
- initial functionality