Bert Leunis pushed to branch feature/create-content at cms-community / 
hippo-essentials


Commits:
996cb58d by Jasper Floor at 2017-11-27T16:41:53+01:00
ESSENTIALS-1106 disbale behavior and remove suggestion

- - - - -
57b6dfc7 by Jasper Floor at 2017-11-27T16:42:50+01:00
ESSENTIALS-1106 copyright

- - - - -
c49fb4fb by Jasper Floor at 2017-11-27T16:52:41+01:00
ESSENTIALS-1106 disable input in not checked

- - - - -
cb9ef7f6 by Tobias Jeger at 2017-11-29T14:39:27+01:00
ESSENTIALS-1127 Refactor the change message compilation to remove Guava 
dependency of API

- - - - -
e703163a by Tobias Jeger at 2017-11-29T14:41:08+01:00
ESSENTIALS-1127 Refactor WebXmlUtils into WebXmlService

Get rid of unused plugin dependencies on SDK-implementation.

- - - - -
2e51cb03 by Tobias Jeger at 2017-11-29T14:41:29+01:00
ESSENTIALS-1127 Refactor Log4j2Utils to become an injectable service.

- - - - -
1f3e56df by Tobias Jeger at 2017-11-30T14:53:15+01:00
ESSENTIALS-1127 Refactor ContextXmlUtils to become an injectable service

Also extract some common usage patterns for updating XML files in order
to reduce code duplication.

- - - - -
0bbb2278 by Tobias Jeger at 2017-12-01T09:17:24+01:00
ESSENTIALS-1127 Refactor MavenAssemblyUtils to become an injectable service

- - - - -
38bac71b by Tobias Jeger at 2017-12-01T12:09:09+01:00
ESSENTIALS-1127 Refactor MavenCargoUtils to become an injectable service

- - - - -
3f0c8f3a by Tobias Jeger at 2017-12-03T13:26:06+01:00
ESSENTIALS-1127 Mark plugin pom to discourage depending on implementation

- - - - -
019251c1 by Arent-Jan Banck at 2017-12-04T14:14:58+01:00
ESSENTIALS-1130 Update Essentials to use the Jackson2 classes

- - - - -
dd6b50c6 by Tobias Jeger at 2017-12-05T10:43:01+01:00
ESSENTIALS-1127 Fix return value of URL rewriter install instruction

- - - - -
a55356b4 by Tobias Jeger at 2017-12-05T12:06:16+01:00
ESSENTIALS-1127 Reduce API overhead for simple data class MavenDependency

- - - - -
8196fb62 by Tobias Jeger at 2017-12-05T12:06:44+01:00
ESSENTIALS-1127 Reintegrate 'feature/ESSENTIALS-1127'

- - - - -
0c036794 by Tobias Jeger at 2017-12-05T12:07:42+01:00
ESSENTIALS-1132 Get rid of PluginParameterService

- - - - -
3a3028b8 by Arent-Jan Banck at 2017-12-06T19:30:33+01:00
ESSENTIALS-1134 Use request.getScheme() instead of hardcoded http://

- - - - -
f424828c by Tobias Jeger at 2017-12-07T21:17:04+01:00
ESSENTIALS-1132 Remove superfluous @type JSON props from descriptors

- - - - -
a197c800 by Tobias Jeger at 2017-12-07T23:43:59+01:00
ESSENTIALS-1132 Remove remaining @type JSON props from descriptors

- Replace bean+interface construction for maven dependencies with a simple
plain bean hierarchy in the API.
- Extract dependency utils into MavenDependencyService

- - - - -
a186a2db by Tobias Jeger at 2017-12-08T10:30:58+01:00
ESSENTIALS-1132 Trivial refactoring to improve ordering of attributes

- - - - -
7401a3cc by Tobias Jeger at 2017-12-08T22:31:58+01:00
ESSENTIALS-1132 Create MavenRepositoryService

- Migrate repository-related functionality from MavenDependencyUtils to
implementation of new service
- Replace interface+class construct for Repository bean with simple data
bean 'MavenRepository' in API module

- - - - -
5ff37f50 by Tobias Jeger at 2017-12-08T23:06:38+01:00
ESSENTIALS-1132 Rename DependencyUtils to EnterpriseUtils

- - - - -
f59e21a5 by Tobias Jeger at 2017-12-10T10:04:47+01:00
ESSENTIALS-1132 Refactor Vendor to simple data bean

rather than defining an interface + implementation.

- - - - -
624684b7 by Tobias Jeger at 2017-12-11T15:51:23+01:00
ESSENTIALS-1132 Delete PluginDescriptor interface to promote data bean

- - - - -
19bfe701 by Tobias Jeger at 2017-12-11T15:53:14+01:00
ESSENTIALS-1132 Move PluginDescriptorRestful (impl) to PluginDescriptor (api)

- - - - -
12539fc8 by Tobias Jeger at 2017-12-11T22:01:41+01:00
ESSENTIALS-1132 Fix EnterpriseUtils to avoid duplicate dependencies

- - - - -
d456134d by Tobias Jeger at 2017-12-11T22:04:28+01:00
ESSENTIALS-1132 Refactor PluginDescriptorRestful into PluginDescriptor

- without dependencies on the SDK implementation module.

- - - - -
aa5b0177 by Tobias Jeger at 2017-12-12T11:59:00+01:00
ESSENTIALS-1132 Simplify loading of dynamic dashboard extensions

The mechanism for loading the plugin-specific extensions to the
dashboard AngularJS application contained a lot of unused (or no-longer-
used) complexity. For better maintainability, I've simplified the
mechanism to focus on the functionality in use. This leads to further
simplification of the plugin descriptor structure.

- - - - -
38298592 by Tobias Jeger at 2017-12-13T12:06:35+01:00
ESSENTIALS-1132 Enable plugins with no rebuild requirement

- - - - -
23dac4a8 by Tobias Jeger at 2017-12-22T13:22:04+01:00
ESSENTIALS-1132 Rework after review

- add missing @Service stereotype annotation
- avoid instantiation of MavenXYZService outside of Spring context

- - - - -
fac60ce0 by Tobias Jeger at 2017-12-22T15:55:35+01:00
ESSENTIALS-1132 Move ModuleMavenDependency into MavenDependency.WithModule

and likewise for repositories.

- - - - -
4d6d5437 by Tobias Jeger at 2017-12-22T15:56:13+01:00
ESSENTIALS-1132 Reintegrate 'feature/ESSENTIALS-1132'

- - - - -
c8e3a049 by Tobias Jeger at 2017-12-22T15:56:45+01:00
ESSENTIALS-1135 Remove obsolete (unused) data structures

- And turn remaining structures into simple data beans

- - - - -
6eb38f17 by Tobias Jeger at 2017-12-22T15:56:46+01:00
ESSENTIALS-1135 Introduce UserFeedback and refactor dynamic REST app

- Feedback to a user's action in the dashboard was "hidden" 
inside a
generic data structure in the response to (typically) POST requests,
the MessageRestful or a RestfulList<MessageRestful>. The front-end then
poked around in the response data and did a best guess at which
responses contain user feedback, to be displayed in the dashboard's
user feedback header. Introducing the UserFeedback makes this more
explicit and comprehensible. UserFeedback encapsulates potentially
multiple messages, and provides them to the front-end in a more explicit
manner.

- DynamicRestPointsApplication (which registers the plugins' /dynamic
REST endpoints) has been refactored to instantiate singletons for all
REST endpoints, which are then Spring-injected explicitly before being
registered with the JAXRS Application. Like this, Spring injection
doesn't leak into the plugin SDK API, and resource classes do no longer
need to extend from BaseResource.
Using singletons does mean that resource classes must be stateless /
thread-safe. All currently existing Plugin-based REST resource classes
meet this requirement without adjustment.

- - - - -
03477578 by Tobias Jeger at 2017-12-22T15:56:46+01:00
ESSENTIALS-1135 Rename ContentBeansService to ContentBeansServiceImpl

- - - - -
f501b9a1 by Tobias Jeger at 2017-12-22T15:56:46+01:00
ESSENTIALS-1135 Make ContentBeansService(Impl) injectable

ContentBeansService implemented an intricate logic for accumulating
user feedback messages (as BeanWriterLogEntry) in a dedicated magic
field of the PluginContext, only to rewrite them immediately in the
BeanWriterUtils. I refactored ContentBeansService to directly and
consistently add user feedback messages to the passed-in UserFeedback
instance.
Also, the PluginContext no longer needs to be provided in the
constructor, which made ownership and control of the context's life-
cycle unnecessarily complicated. Instead, the caller owns the context
and passes it in through the API.

ContentBeansService still is an overly complex and under unit-tested
class. While the new interface describes the current API, the API is
still too ugly to freeze, which is why I keep it in the implementation
module for now.

- - - - -
c9896261 by Tobias Jeger at 2017-12-22T15:56:46+01:00
ESSENTIALS-1135 Remove unused code

- - - - -
b07aa282 by Tobias Jeger at 2017-12-22T15:56:46+01:00
ESSENTIALS-1135 Refactor JCR low-level access into JcrService

This change removes the dependency on the JCR-related methods of the
GlobalUtils by making them available through the injectable JcrService.
As many of the unit tests (sub-classes of BaseRepositoryTest) depend
on a custom access to the repository, this change involves some serious
refactoring in the testing infrastructure, to make sure there is only
a single instance (singleton) of the JcrService used throughout the
Spring application. In the unit-test context, the TestJcrService plays
that role.

- - - - -
1621ac15 by Tobias Jeger at 2017-12-25T08:41:17+01:00
ESSENTIALS-1135 Create injectable Essentials ContentTypeService

to replace the old ContentTypeServiceUtils. Clean up HippoNodeUtils
(lots of unused code). Replace DocumentRestful (implementation) with
ContentType (API).

- - - - -
bb706f90 by Tobias Jeger at 2017-12-26T08:56:17+01:00
ESSENTIALS-1135 Embed Vendor info in PluginDescriptor

The separate Vendor bean was is only used in the context of a
PluginDescriptor. It therefore seems cleaner to keep it as an inner
class. I also noticed that the unit test for the [de-]serialization of
PluginDescriptor lived in the dashboard, while the descriptor lives in
the API. I moved the unit test into the API module, rearranging some
Maven dependencies.

- - - - -
546bd055 by Tobias Jeger at 2017-12-26T16:19:57+01:00
ESSENTIALS-1135 Add import of interpolated resource to JcrService

Importing a classpath XML file (after {{moustache}} interpolation) into
the JCR repository is a frequently-seen pattern in Essentials plugins.
By adding support for this pattern to the JcrService, the direct
dependency of a plugin on the TemplateUtils is removed, without having
to expose them through the API.

All in all, the Content Blocks plugin now no longer depends on the
plugin-sdk implementation module. Hurray!

- - - - -
fb2a43d4 by Tobias Jeger at 2017-12-27T16:26:20+01:00
ESSENTIALS-1135 Add unit test for JcrService

I noticed that the BaseRepositoryTest-derived unit tests of the SDK
implementation module were quite slow, because they reinitialized
a new repository for every test case, including importing 10+ namespaces.
By refactoring the MemoryRepository class in order to only instantiate
a new repository once, and resetting its nodes only if a new test case
uses a Session, I managed to speed these tests up by a factor of ~5.

- - - - -
a56b31f4 by Tobias Jeger at 2017-12-28T11:23:42+01:00
ESSENTIALS-1135 Add unit test for ContentTypeService

And fix the logic to retrieve a content type's display name.

- - - - -
20f7cee8 by Tobias Jeger at 2017-12-28T12:09:30+01:00
ESSENTIALS-1135 Better documentation and unit testing

- - - - -
3177d309 by Tobias Jeger at 2017-12-29T20:45:07+01:00
ESSENTIALS-1138 Refactor blog importer configuration mechanism

The old code abused the instruction mechanism to persist the blog
importer configuration. This was both weird and hard tt understand /
maintain. I've replaced it by a REST Resource in combination with a
plain Java bean holding the deserialized configuration data.
Since the installation of the plugin now no longer attempts to access
the blog importer configuration in the repository, the initial rebuild
(to get the blog importer configuration in place by pulling in the
extra CMS dependency) is no longer necessary. I therefore refactored the
installation sequence to use the mavenDependency instruction, and the
plugin now installs with a single rebuild.

- - - - -
e8ca222a by Tobias Jeger at 2017-12-29T21:28:56+01:00
ESSENTIALS-1139 Refactor document wizard REST endpoint

The old code required extra encoding/decoding logic in both the front
end and the back end to massage the data into a generic PostPayload
format and extract it again to write it to the repository. This
refactoring introduces a plain Java bean for deserializing the
configuration data, and the dependency on the (overly) generic
PostPayload living in the SDK implementation module is gone.
As of this change, the document wizard plugin no longer depends on
the implementation module.

- - - - -
234e0868 by Tobias Jeger at 2018-01-02T15:59:16+01:00
ESSENTIALS-1140 Refactor DocumentTemplateUtils into ContentTypeService

DocumentTypeUtils provided 2 methods used when adding document type
fields to document types. These have been integrated in Essentials'
ContentTypeService.

- - - - -
8740d518 by Tobias Jeger at 2018-01-02T21:20:34+01:00
ESSENTIALS-1140 Refactor related documents REST API to use explicit model

This refactoring avoids quirky usage of the generic PostPayload class,
making the code more explicit and maintainable. It also gets rid of the
last non-API dependency in the REST resource, the plugin now only depends
in the API (and JAX-RS).

- - - - -
08382b3e by Tobias Jeger at 2018-01-02T23:29:33+01:00
ESSENTIALS-1140 Fix confirm mode if plugin has no setup parameters

By default, confirm mode is off, and all plugins use the globally
configured "generalized" parameter ('jsp' or 
'freemarker',
'sampleData' and 'extraTemplates'). Due to the removal of the
ParameterService support, plugins with no setup parameters started to
exhibit incorrect installation behaviour in confirm mode.
These changes fix this problem by introducing a new plugin descriptor
flag 'setupParameters', which is true by default. If a plugin has no
setup parameters, it declares "setupParameters: false" in the plugin
descriptor, such that it does not need to provide a front-end template
for manually triggering the setup phase.
A few more recent plugins actually had such a 'dummy' template, which
has become superfluous now.

- - - - -
f80b3901 by Tobias Jeger at 2018-01-03T15:58:48+01:00
ESSENTIALS-1141 Make Tagging plugin depend on API only

- Extended JcrService with an API for importing translations
- Extended ContentTypeService with an API for disecting JCR type names
- Extended TagginResource to accept dedicated Configuration class

Together, above changes removed all dependencies on the SDK
implementation module.

- - - - -
0b5d4f6b by Jeroen Hoffman at 2018-01-08T10:20:36+01:00
ESSENTIALS-1106 Merge branch 'master' into feature/ESSENTIALS-1106

- - - - -
c50e92e0 by Jeroen Hoffman at 2018-01-08T11:51:08+01:00
ESSENTIALS-1106 put back the placeholder=10, but with always required. Also add 
reg exp pattern so there must be a 1 or 2 digit value.

- - - - -
40190f3e by Jeroen Hoffman at 2018-01-08T11:58:26+01:00
ESSENTIALS-1106 Reintegrate branch 'feature/ESSENTIALS-1106' into master

- - - - -
40b3b77d by Tobias Jeger at 2018-01-11T19:25:00+01:00
ESSENTIALS-1135 Reintegrate 'feature/ESSENTIALS-1135'

- - - - -
958082db by Tobias Jeger at 2018-01-11T19:35:46+01:00
ESSENTIALS-1138 Reintegrate 'feature/ESSENTIALS-1138'

- - - - -
d5fb11b3 by Tobias Jeger at 2018-01-11T19:37:42+01:00
ESSENTIALS-1139 Reintegrate 'feature/ESSENTIALS-1139'

- - - - -
e06c6726 by Tobias Jeger at 2018-01-11T19:41:52+01:00
ESSENTIALS-1140 Reintegrate 'feature/ESSENTIALS-1140'

- - - - -
bdf8869c by Tobias Jeger at 2018-01-11T19:44:26+01:00
ESSENTIALS-1141 Reintegrate 'feature/ESSENTIALS-1141'

- - - - -
bbdd9c7f by Sergey Shepelevich at 2018-01-15T14:15:44+01:00
ESSENTIALS-1150 Better handling of 404 page

- - - - -
d144bc36 by Bert Leunis at 2018-01-15T15:49:01+01:00
ESSENTIALS-1129 Merge master changes in feature/create-content

- - - - -


30 changed files:

- dashboard-dependencies/pom.xml
- dashboard/src/main/java/org/onehippo/cms7/essentials/WebUtils.java
- 
dashboard/src/main/java/org/onehippo/cms7/essentials/filters/EssentialsContextListener.java
- 
dashboard/src/main/java/org/onehippo/cms7/essentials/plugin/InstallStateMachine.java
- dashboard/src/main/java/org/onehippo/cms7/essentials/plugin/Plugin.java
- − 
dashboard/src/main/java/org/onehippo/cms7/essentials/plugin/PluginParameterServiceFactory.java
- dashboard/src/main/java/org/onehippo/cms7/essentials/plugin/PluginStore.java
- 
dashboard/src/main/java/org/onehippo/cms7/essentials/rest/DocumentResource.java
- − dashboard/src/main/java/org/onehippo/cms7/essentials/rest/JcrResource.java
- − dashboard/src/main/java/org/onehippo/cms7/essentials/rest/NodeResource.java
- dashboard/src/main/java/org/onehippo/cms7/essentials/rest/PluginResource.java
- dashboard/src/main/java/org/onehippo/cms7/essentials/rest/model/RestList.java
- 
dashboard/src/main/java/org/onehippo/cms7/essentials/rest/picker/JcrBrowserResource.java
- 
dashboard/src/main/java/org/onehippo/cms7/essentials/servlet/DynamicRestPointsApplication.java
- dashboard/src/main/resources/applicationContext.xml
- dashboard/src/main/resources/jackson.xml
- dashboard/src/main/webapp/WEB-INF/jsp/index.jsp
- dashboard/src/main/webapp/js/app.js
- dashboard/src/main/webapp/js/loader.js
- dashboard/src/test/java/org/onehippo/cms7/essentials/WebUtilsTest.java
- dashboard/src/test/resources/external_list.json
- plugin-sdk/api/pom.xml
- − 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/config/PluginParameterService.java
- 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/ctx/PluginContext.java
- 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/instructions/Instruction.java
- + 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/model/ContentType.java
- − 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/model/EssentialsDependency.java
- 
plugin-sdk/implementation/src/main/java/org/onehippo/cms7/essentials/dashboard/model/DependencyRestful.java
 → 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/model/MavenDependency.java
- 
plugin-sdk/implementation/src/main/java/org/onehippo/cms7/essentials/dashboard/model/RepositoryRestful.java
 → 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/model/MavenRepository.java
- 
plugin-sdk/api/src/main/java/org/onehippo/cms7/essentials/dashboard/model/PluginDescriptor.java


The diff was not included because it is too large.


View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-essentials/compare/462b5aa1a5087f514970483a29e0aa4c4f8ec91c...d144bc36ced4142f7cd180d7347160c779ffedb4

---
View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-essentials/compare/462b5aa1a5087f514970483a29e0aa4c4f8ec91c...d144bc36ced4142f7cd180d7347160c779ffedb4
You're receiving this email because of your account on code.onehippo.org.
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to