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