Compare commits

...

644 Commits

Author SHA1 Message Date
Jens Pelzetter e94bc51c8e Fix item permissions function added 2023-07-25 20:16:02 +02:00
Jens Pelzetter edd4727b9a Some bugfixes for FixItemPermissions tool 2023-07-13 21:14:03 +02:00
Jens Pelzetter 7cea45560a Some code formattig, added function for fixing item and asset permissions (sometimes they are not correctly inherited from the folder. 2023-07-12 21:08:18 +02:00
Jens Pelzetter 4251fd1df9 Several bugfixes for models 2023-06-03 17:27:53 +02:00
Jens Pelzetter b174fe4b75 CategoryModel now provides link for category 2023-05-29 17:46:45 +02:00
Jens Pelzetter e7cebdd9ff Some bugfixes for the pages controller 2023-05-25 20:48:38 +02:00
Jens Pelzetter 5089929d00 Some bugfixes for the category model 2023-05-20 18:52:44 +02:00
Jens Pelzetter e228dc98ec Some bugfixes and improvements for the PageUrlModel 2023-05-15 19:17:52 +02:00
Jens Pelzetter 7e023cfaa9 Several small bug fixes 2023-05-13 17:55:18 +02:00
Jens Pelzetter 06922b6425 Bugfix for StaticThemeProvider: Regex for filtering themes was missing some characters 2023-04-29 15:01:14 +02:00
Jens Pelzetter d6d3f232bb Keep NPM module versions in sync with Maven module versions 2023-04-25 19:34:57 +02:00
Jens Pelzetter 407a2276bf Forget to adapt one module 2023-04-24 20:25:44 +02:00
Jens Pelzetter d1ce56bb03 Another typo 2023-04-24 20:08:40 +02:00
Jens Pelzetter a27fa76d08 Typo 2023-04-24 20:06:30 +02:00
Jens Pelzetter ad1686e63d Added change for NPM to all modules deploying NPM modules 2023-04-24 20:03:42 +02:00
Jens Pelzetter 0399809641 Set package.json version from Maven 2023-04-24 19:51:36 +02:00
Jens Pelzetter 516ef5fc94 Don't publish NPM packages during build 2023-04-23 11:53:37 +02:00
Jens Pelzetter 8745d31cad Increase prerelase number for NPM packages 2023-04-23 11:47:11 +02:00
Jens Pelzetter 99bc44aeea Another attempt 2023-04-23 11:15:00 +02:00
Jens Pelzetter 368e5f4303 Trying to force NPM package publishing 2023-04-23 10:59:05 +02:00
Jens Pelzetter b02f1a8e5c Remove protocol from auth token lines 2023-04-22 19:59:26 +02:00
Jens Pelzetter 78c0968b11 Set auth-type=legacy in libreccm.npmrc 2023-04-22 19:51:13 +02:00
Jens Pelzetter 0add575696 Typo in libreccm.npmrc (missing slash at end of registry URL) 2023-04-22 19:42:19 +02:00
Jens Pelzetter f06115095d Another try 2023-04-22 18:11:09 +02:00
Jens Pelzetter 165a3e3745 Another try to get NPM publishing working 2023-04-22 18:02:06 +02:00
Jens Pelzetter 03fe58ea78 Another try to get package publishing to Gitea for NPM packages working 2023-04-22 17:47:54 +02:00
Jens Pelzetter 0c0019b4b0 Typo in libreccm.npmrcTypo in libreccm.npmrcTypo in libreccm.npmrcTypo in libreccm.npmrcTypo in libreccm.npmrcTypo in libreccm.npmrcTypo in libreccm.npmrcTypo in libreccm.npmrc 2023-04-22 17:34:45 +02:00
Jens Pelzetter 530f5e7e03 Still tryping to fix publish problem with NPM 2023-04-22 17:24:27 +02:00
Jens Pelzetter 11a2d889c4 change to libreccm.npmrc to fix build failure 2023-04-22 17:20:05 +02:00
Jens Pelzetter b70f35c873 Typo in libreccm.npmrc 2023-04-22 16:54:04 +02:00
Jens Pelzetter 860e33090f Typo in Jenkinsfile 2023-04-22 15:23:14 +02:00
Jens Pelzetter ea2b3db7b1 Updated npmrc to deploy to git.libreccm.org 2023-04-17 20:01:57 +02:00
Jens Pelzetter 60cca47522 Updated pom.xml to use the LibreCCM Gitea instance as package repository. 2023-04-17 19:55:49 +02:00
Jens Pelzetter 77b59d9a6e Added token for deploying packages to git.libreccm.org to Jenkinsfile 2023-04-17 19:49:57 +02:00
Jens Pelzetter 51a639422a Some performance improvement 2023-03-23 14:21:08 +01:00
Jens Pelzetter 3463bb7f4d Fixed some bugs in importers and in the Categorization step 2023-03-21 17:58:42 +01:00
Jens Pelzetter 1701551fbc Fixed dependencies for DomainOwnership import 2023-03-20 18:58:54 +01:00
Jens Pelzetter cee7b5536b Fixed some NPEs 2023-03-13 21:16:32 +01:00
Jens Pelzetter d41a372ef3 Improved query for retrieving content sections 2023-03-11 19:40:48 +01:00
Jens Pelzetter fe74176563 Fixed missing JSONIdentityInfo for AttachmentList 2023-02-26 09:32:29 +01:00
Jens Pelzetter 97afa16b46 Simplifed DB table structure 2023-02-24 20:04:38 +01:00
Jens Pelzetter 9184050986 Some small bugfixes for import 2023-02-22 20:02:33 +01:00
Jens Pelzetter b5761464eb Don't use placeholders when importing categories and folders. 2023-02-19 13:44:24 +01:00
Jens Pelzetter 69c5d4a71f Added missing dependency for PhaseImExporter 2023-02-18 16:30:45 +01:00
Jens Pelzetter e150bd2509 Several bugfixes 2023-02-16 20:57:36 +01:00
Jens Pelzetter 9f6937352c Added missing qualifiers 2023-02-06 20:26:19 +01:00
Jens Pelzetter 65173d3d29 Added missing dependencies 2023-02-06 20:07:53 +01:00
Jens Pelzetter b7114e175b Make join column for person not null. 2023-02-06 19:35:56 +01:00
Jens Pelzetter 6a8f59d663 Copied corrections to migrations for H2 database. 2023-01-31 20:25:59 +01:00
Jens Pelzetter 7fef6ce945 Some more typos 2023-01-31 20:10:53 +01:00
Jens Pelzetter 974caad459 Another typo 2023-01-31 19:58:37 +01:00
Jens Pelzetter f843543722 Another typo 2023-01-31 19:46:47 +01:00
Jens Pelzetter 0f54e73fba Another typo 2023-01-31 19:34:02 +01:00
Jens Pelzetter 957b7bb68b Fixed typos in migration 2023-01-31 19:09:05 +01:00
Jens Pelzetter f0ececa3b5 Fix primary key for localized string tables 2023-01-30 19:58:21 +01:00
Jens Pelzetter 77272549a0 Fixed a typo 2023-01-29 14:17:23 +01:00
Jens Pelzetter 8f77d0726e Fixed problem with PersonNames when importing Persons 2023-01-29 13:02:46 +01:00
Jens Pelzetter 67078ab385 Changed handling of PersonName entity 2023-01-29 11:09:34 +01:00
Jens Pelzetter 38851e6783 Removed wrong migrations 2023-01-28 20:06:03 +01:00
Jens Pelzetter 9ecb2b9278 Typo in migrations 2023-01-28 19:53:11 +01:00
Jens Pelzetter e9d9fdcbb9 Fixing migration problem 2023-01-28 19:40:58 +01:00
Jens Pelzetter e2b59d27ee Fixed a typo in the DB migration 2023-01-28 19:16:28 +01:00
Jens Pelzetter 35db22cd36 Fixed a typo in the DB migration 2023-01-28 19:15:51 +01:00
Jens Pelzetter 1b10e695b7 PersonNames is no longer an embeddedable entity. 2023-01-28 17:27:39 +01:00
Jens Pelzetter 6e1f390a34 Added some more logging to assist with debugging 2023-01-28 12:27:21 +01:00
Jens Pelzetter 13cead79e9 Fixed issues in toString implementations of some entities 2023-01-28 11:50:45 +01:00
Jens Pelzetter 2b69afa469 Separate log entries for imported entities by a blank line 2023-01-28 11:41:13 +01:00
Jens Pelzetter 2c7c9e302c Optimized ImExporter entity handling 2023-01-28 10:59:47 +01:00
Jens Pelzetter a9f10cf0ab Missing @Transactional annotation added 2023-01-28 10:26:24 +01:00
Jens Pelzetter 9966f30c9a Flushing the entity manager. 2023-01-28 08:13:09 +01:00
Jens Pelzetter 8e00655c23 Fixed a typo 2023-01-26 20:00:24 +01:00
Jens Pelzetter 321d5b0337 Fixing a NPE. 2023-01-26 19:33:01 +01:00
Jens Pelzetter 677a187618 Changed transaction handling for importing entities. 2023-01-26 19:17:20 +01:00
Jens Pelzetter 4b6bd259eb Changed transaction handling for ImExporters 2023-01-26 19:02:50 +01:00
Jens Pelzetter 9a6fcf8804 Updated some CDI annotations. 2023-01-24 20:32:47 +01:00
Jens Pelzetter 35a1e712f7 Removed some more final modifiers 2023-01-24 20:00:54 +01:00
Jens Pelzetter f9fe016c3f Removed some more final modifiers 2023-01-24 19:36:54 +01:00
Jens Pelzetter c3e90a27e1 Removed another final modifier 2023-01-24 19:22:03 +01:00
Jens Pelzetter 0d00794ffb Removal of final modifier from a method since that prevents CDI from
proxying the bean.
2023-01-24 19:03:25 +01:00
Jens Pelzetter be6abc17cb Additional annotation for CDI inject 2023-01-24 18:45:53 +01:00
Jens Pelzetter ca87bcb6af Cleanup and fixed some potential problems. 2023-01-23 20:57:31 +01:00
Jens Pelzetter 55b2f6c6ba Fixed problems with importing assets 2023-01-19 19:46:01 +01:00
Jens Pelzetter 69bcf4c8f6 Updated ImExporters for content items 2023-01-18 19:31:48 +01:00
Jens Pelzetter b3f66535a4 Fixed some typos and added missing calls to save method of responsible
repository.
2023-01-17 19:53:00 +01:00
Jens Pelzetter a2dc05f665 Updated some ImExporter to implement new interface 2023-01-17 19:32:43 +01:00
Jens Pelzetter 4587f8b266 Updated ImExporter for assets to implement new abstract methods 2023-01-14 16:43:40 +01:00
Jens Pelzetter e7e5b50b60 Conf examples 2023-01-14 16:43:28 +01:00
Jens Pelzetter ed4907472a Removed unused imports 2023-01-14 16:43:13 +01:00
Jens Pelzetter f7e8d2f957 ImExporters from ccm-docrepo now implement new interface 2023-01-12 20:39:25 +01:00
Jens Pelzetter ef34c2b7f8 Updated all ImExporters of ccm-core to implment new interface 2023-01-12 19:35:17 +01:00
Jens Pelzetter 610b050ac5 Some fixes for import 2023-01-12 19:01:03 +01:00
Jens Pelzetter 3a9a065f50 ImExporters update (will not compile yet!) 2023-01-11 20:08:27 +01:00
Jens Pelzetter 4d4cda372c Make CcmObject resolver fault tolerant 2022-12-24 16:04:13 +01:00
Jens Pelzetter c17d2b40db Improved query 2022-12-24 16:00:54 +01:00
Jens Pelzetter 56cdbaa03b Additional query method 2022-12-24 14:11:18 +01:00
Jens Pelzetter 2cfbfc80ea Adding some more logging for importing entities 2022-12-11 12:21:03 +01:00
Jens Pelzetter dfb25f0d38 Output entity type when starting to import entities of a type 2022-12-10 21:11:35 +01:00
Jens Pelzetter 9330316c49 Using correct query for retrieving ContactableEntity assets. 2022-12-10 15:50:10 +01:00
Jens Pelzetter 28f5fd53f5 Create placehoders for organizations not found in the database 2022-12-06 19:49:00 +01:00
Jens Pelzetter 347f614c2d Add missing @Cascade annotiation 2022-12-06 19:14:27 +01:00
Jens Pelzetter 22eb87f75b Only import contact entry keys once 2022-12-04 11:52:09 +01:00
Jens Pelzetter 8bef2bb784 Code cleanup 2022-12-03 18:06:44 +01:00
Jens Pelzetter 38dae9a6bf Improved im/export for contact entries (?) 2022-12-03 17:25:36 +01:00
Jens Pelzetter 2c18d9f77b Added missing @PostConstruct annotation 2022-12-01 20:40:25 +01:00
Jens Pelzetter 87e32f6657 Serializier and Deserializer for Jackson processing ContactEntryKeys 2022-12-01 20:26:32 +01:00
Jens Pelzetter f8056cb421 Serializer and Deserializer for java.sql.Blob for Jackson 2022-12-01 19:08:38 +01:00
Jens Pelzetter 57a6f73e9b A string field is sufficient for storing the MimeType 2022-11-30 20:54:23 +01:00
Jens Pelzetter 8728b2f853 Jackson serializer and deserializer for Java MimeType class 2022-11-30 20:20:44 +01:00
Jens Pelzetter 7b178f030c Import should not fail if JSON contains unknown properties. 2022-11-30 19:41:33 +01:00
Jens Pelzetter 2533c16196 Fixed a bug in AssetRepository 2022-11-29 20:07:33 +01:00
Jens Pelzetter 5c140fd98f Some missing IdResolvers, added scope attributes to all
@JsonIdentityInfo annoations
2022-11-29 19:35:41 +01:00
Jens Pelzetter 75a499e70d Removed unnecessary @PostConstruct annotiation 2022-11-26 13:29:23 +01:00
Jens Pelzetter f7ce45621f Fixed dependency problem for RelatedLinkImExporter 2022-11-26 11:53:52 +01:00
Jens Pelzetter e066ac358f Im/Exporters for assets 2022-11-24 19:45:43 +01:00
Jens Pelzetter 0cac7545b5 Added missing annotiation 2022-11-07 20:37:28 +01:00
Jens Pelzetter bbf1f5824b Make methods in AbstractEntityImExporter non-final since CDI does not
permit final methods.
2022-11-07 20:24:26 +01:00
Jens Pelzetter b2eca5232d Added missing annotations 2022-11-07 20:07:06 +01:00
Jens Pelzetter cbca30d705 Improved handling of required entities in ImExporters. 2022-11-07 19:18:30 +01:00
Jens Pelzetter 72ee9fe032 Better exceptio handling 2022-11-05 20:33:36 +01:00
Jens Pelzetter 161eff594d Fixed a problem when saving imported Categorizations 2022-11-05 20:06:36 +01:00
Jens Pelzetter caaedc323e Fixed a bug when importing an MultipartArticle 2022-11-05 19:40:27 +01:00
Jens Pelzetter 6dfe7c0a95 Added Jackson for Java 8 Date/Time types 2022-11-05 17:50:01 +01:00
Jens Pelzetter df8fc3f5ab Trying to solve problem with hibernate. 2022-11-05 10:06:46 +01:00
Jens Pelzetter b066a6f12d Transactional annotation added 2022-11-03 19:56:48 +01:00
Jens Pelzetter 73ebb0ba34 Fixed dependencies between AssignableTask and TaskComment for import. 2022-11-03 19:10:03 +01:00
Jens Pelzetter f2149c975a Type field for folder placeholders was empty. 2022-11-01 20:35:50 +01:00
Jens Pelzetter 03ff939dc2 Typo in error message. 2022-10-31 13:02:51 +01:00
Jens Pelzetter 685722f1f4 Added missing dependency for ContentSection in FolderImExporter 2022-10-31 11:33:37 +01:00
Jens Pelzetter 576518ab63 Added missing JsonIdentityReferenceAnnotation 2022-10-31 11:10:56 +01:00
Jens Pelzetter 5c018eb9de Typos in DB migrations 2022-10-31 10:25:33 +01:00
Jens Pelzetter 0acc95ff43 Typo in DB migration 2022-10-31 10:06:51 +01:00
Jens Pelzetter e35af6c74b Made Phase importable 2022-10-31 09:38:43 +01:00
Jens Pelzetter 48965f101d Mising ImExporter for PhaseDefinitions 2022-10-31 08:43:09 +01:00
Jens Pelzetter b59987ba97 Added missing dependencies for LifecycleDefitionImExporter 2022-10-31 08:11:50 +01:00
Jens Pelzetter 35403e3e9c Missing @JsonIdentityInfo added 2022-10-29 17:59:07 +02:00
Jens Pelzetter a45ceb6ffb Type in named query 2022-10-29 17:43:16 +02:00
Jens Pelzetter bf8e592a51 Added UUID to PhaseDefinition 2022-10-29 17:02:49 +02:00
Jens Pelzetter 1f8f89fa91 Fixing dependency cycle 2022-10-29 13:30:06 +02:00
Jens Pelzetter 52680f2423 Dependencies for Lifecyles import 2022-10-29 11:45:25 +02:00
Jens Pelzetter 040a54a8b0 Removed cycle from ImExporter dependencies 2022-10-26 19:24:45 +02:00
Jens Pelzetter cef0e6602d Removed dependency in FolderImExporter that caused a cycle. 2022-10-26 18:59:58 +02:00
Jens Pelzetter 2c317630f1 Corrected ImExporter dependencies 2022-10-26 18:41:37 +02:00
Jens Pelzetter 681a28958a IdResolvers for Lifecycles 2022-10-25 20:21:17 +02:00
Jens Pelzetter ad8cf5fb3d ImExporter for ContentType 2022-10-25 19:21:41 +02:00
Jens Pelzetter 2de82a4b7b Added a FolderIdResolver 2022-10-24 19:50:34 +02:00
Jens Pelzetter 65f548477b Added missing ImExporter for Folders 2022-10-24 19:22:00 +02:00
Jens Pelzetter 5e3f467904 Import Categorizations after all other objects 2022-10-24 18:41:21 +02:00
Jens Pelzetter aef849ece8 Fixing RoleMembershipImExporter 2022-10-23 12:08:01 +02:00
Jens Pelzetter 283049f8e9 Fixing a problem when importing RoleMemberships 2022-10-23 11:39:51 +02:00
Jens Pelzetter 4e8d1929b8 Create placeholders for parent categories that have not been imported
when a child category is imported, and update them when that category is
imported.
2022-10-23 10:55:28 +02:00
Jens Pelzetter bf0a449419 Content Section requires categories to be imported. 2022-10-22 20:07:01 +02:00
Jens Pelzetter b2a6880d24 Import Permissions as last object 2022-10-22 19:49:58 +02:00
Jens Pelzetter 2333bbc35e Some fixes related to imports 2022-10-22 19:30:43 +02:00
Jens Pelzetter 5be71d9fa8 Resource may not be required 2022-10-20 19:16:00 +02:00
Jens Pelzetter d159b4f85d Also import ResourceType before Resource 2022-10-20 19:01:29 +02:00
Jens Pelzetter bf59b58cc9 ContentSection import requires that Resource is imported first. 2022-10-20 19:00:37 +02:00
Jens Pelzetter 327fd624c8 Fix Shiro security context problem (hopefully), alerts for import status 2022-10-15 17:33:30 +02:00
Jens Pelzetter 8893eebaff Another bugfix for the import, wrong property was used in XHTML file 2022-10-15 17:02:35 +02:00
Jens Pelzetter 39920f42f3 Bugfix for importer 2022-10-15 16:44:02 +02:00
Jens Pelzetter 03e7d6dfdf Some code cleanup 2022-09-26 16:20:18 +02:00
Jens Pelzetter 34b81f18f9 ObjectIdResolvers for several entities 2022-09-24 17:12:14 +02:00
Jens Pelzetter 6a9580f7a1 Execute export tasks as system user 2022-09-24 13:02:47 +02:00
Jens Pelzetter a0ac634d1f Code cleanup, execute import as system user. 2022-09-24 12:43:46 +02:00
Jens Pelzetter a72945501d Code cleanup 2022-09-24 11:26:17 +02:00
Jens Pelzetter c77dc2f991 Code reformatting and cleanup 2022-09-24 11:11:33 +02:00
Jens Pelzetter c65c182e14 Several bugfixes 2022-09-20 20:26:45 +02:00
Jens Pelzetter cbaaab2ccf Fixed a bug in the AuthoringStepsValidator 2022-07-13 20:16:46 +02:00
Jens Pelzetter 7fc2202933 Update of package.json 2022-05-04 19:29:57 +02:00
Jens Pelzetter f34efb62b6 Removed ccm-cms-editor 2022-05-04 19:23:35 +02:00
Jens Pelzetter e3fd73b92f Edit steps in ccm-cms now use general cms-editor. 2022-05-04 19:23:09 +02:00
Jens Pelzetter 0f457f0ec0 Moved cms-editor back to ccm-cms, refactored to general script configured using data attributes 2022-05-03 20:23:45 +02:00
Jens Pelzetter 5e44817505 Changed Typescript target to ES6 2022-04-28 19:53:31 +02:00
Jens Pelzetter 8de850824a Some fixes for JS related stuff 2022-04-28 19:17:04 +02:00
Jens Pelzetter 0cceec93e8 Moved ccm-cms-editor to separate module to make it usable in other projects (for example ScientificCMS) 2022-04-27 20:57:47 +02:00
Jens Pelzetter f73f9084cf generated-resources was still referenced in one place 2022-04-26 21:06:21 +02:00
Jens Pelzetter bffb978658 generated-resources does exist in ccm-bundle-devel-wildfly any more 2022-04-26 21:02:18 +02:00
Jens Pelzetter e40e75c67d Fixed some JS related problems 2022-04-26 20:53:37 +02:00
Jens Pelzetter 3a7c7024aa Changed package.json version to include snapshot-qualifier 2022-04-26 19:25:48 +02:00
Jens Pelzetter 6fc3e810d9 Typo in ccm-cms/package.json 2022-04-25 20:48:41 +02:00
Jens Pelzetter 70279cea1b Reverting last change. 2022-04-25 19:59:46 +02:00
Jens Pelzetter d93d43dc7c Removed unnecessary entry in package.json 2022-04-25 19:28:23 +02:00
Jens Pelzetter b7671dedee Fixed ccm-cms JS module (hopefully) 2022-04-25 18:52:16 +02:00
Jens Pelzetter df534cd10e Publish ccm-cms JavaScript library to packages.libreccm.org 2022-04-23 17:19:49 +02:00
Jens Pelzetter 3683960f55 The SelectBox in the form for adding document types to a content section did not show the name of the content type. 2022-04-20 20:25:26 +02:00
Jens Pelzetter a68d25ba61 Some small fixes 2022-04-20 19:50:01 +02:00
Jens Pelzetter 6a23404b29 Added scope to JS package from ccm-cms 2022-04-18 17:14:15 +02:00
Jens Pelzetter ab811f359b Extended AssetPicker with an option to include extra components into the form. 2022-04-16 16:50:34 +02:00
Jens Pelzetter f2ecb745d9 Remvoed some classes still depending on PageModel 2022-04-02 18:00:03 +02:00
jensp 8ba0bddf04 Merge pull request 'issue-22-remove-legacy-components' (#28) from issue-22-remove-legacy-components into master
Reviewed-on: #28
2022-04-02 17:26:00 +02:00
Jens Pelzetter 7ded6bbdca Removed unused dependency xml-resolver 2022-03-26 14:41:04 +01:00
Jens Pelzetter 733db2fe65 Removed unused dependency poi 2022-03-26 14:24:59 +01:00
Jens Pelzetter 3c34a14273 Removed unused dependency org.bouncycastle/bcprov-jdk16 2022-03-26 14:17:14 +01:00
Jens Pelzetter 81541be80e Removed unused dependency oro 2022-03-26 14:08:47 +01:00
Jens Pelzetter f92c9c28c6 Removed unused dependency net.sf.jtidy/jtidy 2022-03-26 14:04:06 +01:00
Jens Pelzetter 545982db81 Removed unused dependency org.imgscalr/imgscalr-lib 2022-03-26 13:57:29 +01:00
Jens Pelzetter e59111d394 Deleted commented out things 2022-03-26 13:51:40 +01:00
Jens Pelzetter e5e6a68ff5 Removed unused dependency with group id org.bouncycastle and artifact id bcmail-jdk16 2022-03-26 13:50:06 +01:00
Jens Pelzetter fe960c6efe Removed unused dependency commons-primitives 2022-03-26 13:42:49 +01:00
Jens Pelzetter 4e606bf24d Removed unused dependency commons-logging 2022-03-26 13:37:51 +01:00
Jens Pelzetter 2f39e0efcd Removed dependency on saxon-he, not used anymore. 2022-03-26 13:30:29 +01:00
Jens Pelzetter 1161053c81 Removed XSLT theme processor, not used anymore. 2022-03-26 13:17:57 +01:00
Jens Pelzetter 15dcc9a39e Removed several unused dependencies 2022-03-24 20:19:06 +01:00
Jens Pelzetter f74b858a93 Removed some remaining classes that depended on Bebop 2022-03-24 19:38:53 +01:00
Jens Pelzetter b681c769b9 Removed several depcrecated classes from ccm-core, especially the complete Bebop UI kit. 2022-03-23 20:22:41 +01:00
Jens Pelzetter abe48a650d Removed depcrecated Bebop Table component 2022-03-22 19:51:44 +01:00
Jens Pelzetter 0e3ae4e99f Removed depcrecated Bebop Tree component 2022-03-22 19:38:51 +01:00
Jens Pelzetter 8f380e40ec Removed depcrecated PageModel 2022-03-22 19:25:35 +01:00
Jens Pelzetter d11c4922ea Removed several depcrecated classes from ccm-cms 2022-03-21 19:59:58 +01:00
Jens Pelzetter 7cd39aa321 Removed depcrecated packages com.arsdigita.toolbox.ui and org.libreccm.pagemodel.ui 2022-03-21 19:55:47 +01:00
Jens Pelzetter af6bee2cdc Removed depcrecated package com.arsdigita.categorization from ccm-cms 2022-03-21 19:47:21 +01:00
Jens Pelzetter 05a5132688 Removed unused class com.arsdigita.ui.admin.AdminUiConstants from ccm-core 2022-03-21 19:46:00 +01:00
Jens Pelzetter c0fb04533d Removed depcrecated package com.arsdigita.ui.admin 2022-03-21 19:42:25 +01:00
Jens Pelzetter 285e8c977c Removed depcrecated package com.arsdigita.ui.login from ccm-core 2022-03-21 19:26:45 +01:00
Jens Pelzetter b92a41b85f Removed depcrecated package com.arsdigita.ui.admin.sites from ccm-core 2022-03-19 17:47:51 +01:00
Jens Pelzetter 8d7cbea03b Removed depcrecated package com.arsdigita.ui.admin.pagemodels from ccm-core 2022-03-19 17:45:44 +01:00
Jens Pelzetter c9f48f042b Removed depcrecated package com.arsdigita.ui.admin.importexport from ccm-core 2022-03-19 17:40:23 +01:00
Jens Pelzetter 473240777a Removed depcrecated package com.arsdigita.ui.admin.configuration from ccm-core 2022-03-19 17:38:45 +01:00
Jens Pelzetter 50be17c101 Removed depcrecated package com.arsdigita.ui.admin.applications and several other depcrecated classes from ccm-core 2022-03-19 17:30:31 +01:00
Jens Pelzetter edba4c3ec2 Removed some unused properties from the ContentSections entity 2022-03-19 16:46:03 +01:00
Jens Pelzetter 3d4bc1ffd1 Removed some unused classes from ccm-cms 2022-03-19 16:39:27 +01:00
Jens Pelzetter b5f9b9e114 Removed unused and depcrecated package com.arsdigita.cms.workflow from ccm-cms 2022-03-19 16:34:57 +01:00
Jens Pelzetter 02956a8bd3 Remove unused table CCM_CMS.WORKFLOW_TASKS 2022-03-19 16:33:03 +01:00
Jens Pelzetter c19796a181 Removed unused classes 2022-03-19 16:28:55 +01:00
Jens Pelzetter a127e7ea62 Removed several deprecated packages from ccm-cms 2022-03-19 16:26:15 +01:00
Jens Pelzetter 56e119e4f7 Removed depcrecated package com.arsdigita.cms.ui.util from ccm-cms 2022-03-19 14:49:27 +01:00
Jens Pelzetter 27e6d12535 Removed deprecated package com.arsdigita.cms.ui.search 2022-03-19 14:48:43 +01:00
Jens Pelzetter b991a14d82 Removed depcrecated package com.arsdigita.cms.ui.workflow 2022-03-19 14:08:09 +01:00
Jens Pelzetter 0ca8ef950e Removed depcrecated package com.arsdigita.cms.ui.item and several other depcrecated classes 2022-03-19 13:53:43 +01:00
Jens Pelzetter 0da48fc6d6 Removed depcrecated package com.arsdigita.cms.ui.contenttypes 2022-03-19 13:40:44 +01:00
Jens Pelzetter 3ed92c6e56 Removed several unused and depcreated classes. 2022-03-19 13:39:37 +01:00
Jens Pelzetter c9eb1bb20b Removed depcreated package com.arsdigita.cms.ui.contentcenter 2022-03-19 13:19:41 +01:00
Jens Pelzetter f0069cba93 Removed depcrecated package com.arsdigita.cms.ui.folder from ccm-cms 2022-03-17 20:24:04 +01:00
Jens Pelzetter 282fbfe815 Removed depcrecated packages com.arsdigita.cms.ui.authoring.article, com.arsdigita.cms.ui.authoring.event, com.arsdigita.cms.ui.authoring.multipartarticle and com.arsdigita.cms.ui.authoring.news from ccm-cms 2022-03-17 19:55:53 +01:00
Jens Pelzetter 70e723f4d6 Remove depcrecated package com.arsdigita.cms.ui.category from ccm-cms 2022-03-17 19:33:16 +01:00
Jens Pelzetter db0f16f21b Removed depcrecated package com.arsdigita.cms.ui.lifecycle from ccm-cms 2022-03-17 19:22:28 +01:00
Jens Pelzetter 9d16918052 Removed depcrecated package com/arsdigita/cms/ui/permissions from ccm-cms 2022-03-17 19:10:56 +01:00
Jens Pelzetter b9dc94e48b Removed depcrecated package com.arsdigita.london.terms.ui from ccm-cms 2022-03-17 18:51:50 +01:00
Jens Pelzetter 77d73fd336 Removed depcrecated package com/arsdigita/cms/ui/pages and depcrecated PagesServlet (replaced by JAX-RS application) 2022-03-16 20:05:20 +01:00
Jens Pelzetter 7a4aa27eef Removed depcrecated package com/arsdigita/cms/ui/cse from ccm-cms 2022-03-16 20:01:15 +01:00
Jens Pelzetter d73bfd03b5 Removed depcrecated package com/arsdigita/cms/ui/report 2022-03-16 19:57:38 +01:00
Jens Pelzetter 7e3b0821bb Removed depcrecated package com/arsdigita/cms/ui from ccm-cms 2022-03-16 19:54:09 +01:00
Jens Pelzetter 980f958bae Removed depcrecated package com/arsdigita/cms/ui/role from ccm-cms 2022-03-16 19:51:52 +01:00
Jens Pelzetter 5efeef8136 Removed some already disabled classes from ccm-cms 2022-03-16 19:46:09 +01:00
Jens Pelzetter 01d8874193 Removed depcrecated package com/arsdigita/cms/ui/type 2022-03-16 19:44:23 +01:00
Jens Pelzetter ad387198be Removed some already disabled classes from ccm-cms 2022-03-16 19:37:56 +01:00
Jens Pelzetter 7a62bc4ad2 Removed deprecated package com/arsdigita/cms/ui/templates from ccm-cms 2022-03-16 19:36:55 +01:00
Jens Pelzetter 6bfa90616b Removed depcreated package com/arsdigita/cms/ui/assets from ccm-cms 2022-03-16 19:33:16 +01:00
Jens Pelzetter 4bb0117366 Removed deprecated package com/arsdigita/cms/ui/authoring/assets 2022-03-16 19:13:09 +01:00
Jens Pelzetter 433a44afa1 Removed depcreated package com/arsdigita/cms/ui/authoring/assets/images 2022-03-16 18:40:38 +01:00
Jens Pelzetter fbb07d9501 Removed deprecated package com/arsdigita/cms/ui/authoring/assets/relatedinfo from ccm-cms 2022-03-16 18:25:16 +01:00
Jens Pelzetter 7ce68f3cd7 Removed several old classes 2022-03-15 20:21:30 +01:00
Jens Pelzetter 198c7d7b83 Removed legacy components from ccm-cms-profile-site 2022-03-14 20:03:05 +01:00
jensp 425373f34f Merge pull request 'librecms-default-theme' (#20) from librecms-default-theme into master
Reviewed-on: #20
2022-03-14 19:12:32 +01:00
Jens Pelzetter ab8ad465b3 Merge branch 'master' into librecms-default-theme 2022-03-14 19:11:40 +01:00
jensp 3a7711a37d Merge pull request 'ccm-cms-mvc' (#19) from ccm-cms-mvc into master
Reviewed-on: #19
2022-03-14 19:09:03 +01:00
Jens Pelzetter 28fd511f95 Display of media assets 2022-03-12 17:05:23 +01:00
Jens Pelzetter b89e15479d Media attachment part 1 2022-03-09 20:18:49 +01:00
Jens Pelzetter 8871eecea3 File download for attached file assets 2022-03-08 20:16:36 +01:00
Jens Pelzetter 8491c01d8b Displaying Attachment Lists 2022-03-07 19:43:43 +01:00
Jens Pelzetter 359118de7d Structure for showing assets in the default theme 2022-03-05 17:56:28 +01:00
Jens Pelzetter 2e4bbc2611 Some minor fixes for links 2022-03-05 14:38:37 +01:00
Jens Pelzetter 3425657121 Item List for category pages 2022-03-05 14:03:10 +01:00
Jens Pelzetter 7d670d725d Item Display 2022-03-03 20:50:01 +01:00
Jens Pelzetter 591bb6b1d2 Display MPA in default theme (as index item). 2022-03-02 20:40:45 +01:00
Jens Pelzetter 496d0ac462 Use URL params for sections 2022-03-02 19:27:57 +01:00
Jens Pelzetter 2c49a4fbc1 Some work on for showing an MPA 2022-03-01 20:14:33 +01:00
Jens Pelzetter 6dd855e1e2 Some bugfixes for the MultiPartArticleModel 2022-02-28 20:21:21 +01:00
Jens Pelzetter f5d3481c9a Setting/resetting the index item of a category only worked for the root category, now works for all categories. 2022-02-26 17:55:16 +01:00
Jens Pelzetter 35ce5479fd Fixed a bug when deleting content items 2022-02-26 17:24:55 +01:00
Jens Pelzetter 4024355838 Template for Event content type. 2022-02-26 14:55:34 +01:00
Jens Pelzetter 5803e9b024 Added warning for missing template for content type 2022-02-26 14:55:13 +01:00
Jens Pelzetter 4732c45012 Added display of release date of news 2022-02-26 14:54:56 +01:00
Jens Pelzetter 6753d96ce2 Making NewsModel a bit more null-safe. 2022-02-26 14:54:36 +01:00
Jens Pelzetter ae2d3b57ea Get start and end date time of an event formatted using a pattern 2022-02-26 14:54:13 +01:00
Jens Pelzetter b034d7d321 Some improvments for item display 2022-02-24 20:29:46 +01:00
Jens Pelzetter fcf62c0c9d Provide formattable news data in model. 2022-02-23 20:46:09 +01:00
Jens Pelzetter 950421774c Template for Article and News details view 2022-02-23 20:45:54 +01:00
Jens Pelzetter 18b3f03303 Image popup and image gallery/carousel 2022-02-22 20:22:16 +01:00
Jens Pelzetter f413f07aaa Added Category Page template to default theme (basic structure) 2022-02-21 20:29:43 +01:00
Jens Pelzetter ddb4f685f9 Some bugfixes for the category administration. 2022-02-21 20:29:27 +01:00
Jens Pelzetter ff27e7e494 Nicer date formatting 2022-02-19 17:43:39 +01:00
Jens Pelzetter 6332243d2d Bugfix for handling LocalDateTime in EventListItemModelBuilder 2022-02-19 17:43:05 +01:00
Jens Pelzetter 80729ed936 Template for start page cleaned up 2022-02-19 11:51:53 +01:00
Jens Pelzetter 2f8abff8f4 Added reference to negotiated locale to models, used to format dates. 2022-02-19 11:51:21 +01:00
Jens Pelzetter 47e26b5878 Several small things for the default and item lists. 2022-02-16 20:20:05 +01:00
Jens Pelzetter fb285f7a29 Page parameter of item list is now aware of different lists 2022-02-16 18:37:00 +01:00
Jens Pelzetter 81482c578f Item list(s) are now configurable using page properties 2022-02-15 20:06:07 +01:00
Jens Pelzetter ceef94b81a Layout for news and event list 2022-02-12 11:59:08 +01:00
Jens Pelzetter 15c33320ee Merge branch 'ccm-cms-mvc' into librecms-default-theme 2022-02-12 11:33:40 +01:00
jensp f141f06b36 Merge pull request 'Fixed some problems with the edit steps for news.' (#17) from news-mvc-editsteps into ccm-cms-mvc
Reviewed-on: #17
2022-02-10 20:16:18 +01:00
Jens Pelzetter ee233fefe3 Fixed some problems with the edit steps for news. 2022-02-10 20:14:17 +01:00
jensp 8ca610bcc0 Merge pull request 'event-mvc-editsteps' (#16) from event-mvc-editsteps into ccm-cms-mvc
Reviewed-on: #16
2022-02-07 21:14:05 +01:00
Jens Pelzetter 170171f6cd Merge branch 'ccm-cms-mvc' into event-mvc-editsteps 2022-02-07 21:11:28 +01:00
Jens Pelzetter dbbb57b1ad Some more bugfixes for event. 2022-02-07 21:08:09 +01:00
Jens Pelzetter 84c2f9a858 Some more bugfixes for the authoring steps of the event content type. 2022-02-06 09:48:29 +01:00
Jens Pelzetter 53956098fb Bugfixes for the authoring of event 2022-02-05 19:52:57 +01:00
Jens Pelzetter 257c71e185 Component for a Bootstrap Form Group component with a datetime-local input field 2022-02-05 19:52:24 +01:00
Jens Pelzetter 88f7be3963 XHTML templates for the authoring steps of the event content type. 2022-02-03 20:18:48 +01:00
Jens Pelzetter c18336bc5e Java Part of authoring steps for Event 2022-02-02 20:01:33 +01:00
Jens Pelzetter b210d8fcdd First of authoring steps for Event. 2022-01-31 20:26:22 +01:00
Jens Pelzetter 535f9bed52 Adjusted primary color of theme 2022-01-31 19:16:56 +01:00
Jens Pelzetter aa49c4c541 Primary color for theme customized 2022-01-29 17:42:40 +01:00
Jens Pelzetter 79c85df4a3 Include attachments into ContentItemModel 2022-01-29 17:12:14 +01:00
Jens Pelzetter 661c70073f Optimizations for the models processing content items. 2022-01-29 13:16:39 +01:00
Jens Pelzetter 65d53e9992 Bugfixes 2022-01-27 20:44:49 +01:00
Jens Pelzetter 224f924673 Some bugfixes and optimizations 2022-01-27 20:08:45 +01:00
Jens Pelzetter 56e53e6205 Bugfixes for models 2022-01-26 20:37:26 +01:00
Jens Pelzetter 2cd477eae2 Bugfixes for managing the index item of a category. 2022-01-25 20:16:01 +01:00
Jens Pelzetter 5b1150b8be Merge branch 'master' into librecms-default-theme 2022-01-22 17:56:10 +01:00
Jens Pelzetter 8a6797e3c9 Several bugfixes for workflow handling (for Content Items) 2022-01-22 17:55:33 +01:00
Jens Pelzetter 0c930877d1 Some changes for the default theme 2022-01-20 14:07:41 +01:00
Jens Pelzetter f8e33d101b LibreCMS Default Theme: Macro for basic page structure 2022-01-20 08:34:09 +01:00
Jens Pelzetter ba96a3c280 Some fixes for themes 2022-01-19 14:57:06 +01:00
Jens Pelzetter 39dbe43d1d Integrated ccm-cms-default-theme into devel bundle 2022-01-18 20:25:29 +01:00
Jens Pelzetter 53afa29aa4 Bugfixes and structure for default theme 2022-01-17 19:56:55 +01:00
Jens Pelzetter ad76d5fbdf CLI-Utility for creating the theme index file. 2022-01-15 12:35:49 +01:00
Jens Pelzetter 13debac95f Another typo in the Jenkinsfile 2022-01-10 20:23:10 +01:00
Jens Pelzetter 76b79fd004 Typo in Jenkinsfile 2022-01-10 20:16:43 +01:00
Jens Pelzetter 0e252b28f4 Updated Maven used by Jenkinsfile to latest version 2022-01-10 19:57:41 +01:00
Jens Pelzetter 496ff252f8 Disabled integration tests temporarily 2022-01-10 19:37:13 +01:00
Jens Pelzetter 0b886bf52c Fixed some compile failures 2022-01-10 18:59:50 +01:00
Jens Pelzetter d7cc4e6f80 Incresed Maven version 2022-01-10 18:59:40 +01:00
jensp 45511c281d Merge pull request 'Fixed some bugs in the DbThemeProvider' (#12) from fix-dbtheme-bugs into master
Reviewed-on: #12
2022-01-05 19:49:30 +01:00
Jens Pelzetter d5f4c04c8b Fixed some bugs in the DbThemeProvider 2022-01-05 19:48:42 +01:00
jensp a859aec500 Merge pull request 'Fixed typos' (#11) from theme-bugfixes into master
Reviewed-on: #11
2022-01-04 19:55:49 +01:00
Jens Pelzetter c78f233c72 Fixed typos 2022-01-04 19:52:59 +01:00
Jens Pelzetter 0c0e1135c0 Some bugfixes for themes 2022-01-03 20:41:37 +01:00
Jens Pelzetter d941a795c9 Merge branch 'ccm-cms-mvc' 2021-12-24 12:59:45 +01:00
Jens Pelzetter dfcfd4edfb Fixed a typo 2021-12-24 12:56:29 +01:00
Jens Pelzetter b22ba52f98 Merge branch 'master' into ccm-cms-mvc 2021-12-24 12:51:57 +01:00
Jens Pelzetter f5b5e67b9c Another conflict 2021-12-24 12:40:11 +01:00
Jens Pelzetter c0a99d1f87 Updated .gitignore, update pom.xml 2021-12-24 12:38:16 +01:00
Jens Pelzetter 1dfd4def77 Some more documentation for the base classes of authoring steps. 2021-12-24 11:56:28 +01:00
Jens Pelzetter da268c2947 Deprecated annotations for Bebop-based edit kits 2021-12-24 11:45:42 +01:00
Jens Pelzetter 29c9d9f272 Merge branch 'ccm-cms-mvc' of git.libreccm.org:LibreCCM/libreccm into ccm-cms-mvc 2021-12-24 11:44:14 +01:00
Jens Pelzetter 4d03ef9ec2 Bugfixes for the edit steps of the multipart article 2021-12-24 11:43:52 +01:00
Jens Pelzetter 1e72159751 Missing dependencies 2021-12-24 11:26:08 +01:00
Jens Pelzetter 568a9fa6bc Bugfixes for the edit steps of the multipart article 2021-12-23 21:21:21 +01:00
Jens Pelzetter 6b48c5deec Some Bugfixes 2021-12-22 20:02:10 +01:00
Jens Pelzetter 6f026f99a7 Some bugfixes 2021-12-21 20:55:12 +01:00
Jens Pelzetter 4ef2b9ac8a Several bugfixes. 2021-12-20 20:37:32 +01:00
Jens Pelzetter afdbc72240 Edit steps for Multipart Article part IV. Not tested yet! 2021-12-18 19:53:55 +01:00
Jens Pelzetter a124d529d2 Template for for basic properties step of multi part article. 2021-12-18 14:53:51 +01:00
Jens Pelzetter b3008e5f04 * Renamed LocalizedString#addValue to LocalizedString#putValue
* Edit Steps for Multipart Article Part III
2021-12-16 20:17:23 +01:00
Jens Pelzetter 43943e1c46 MVC edit views for MultiPartArticle part II 2021-12-15 20:41:07 +01:00
Jens Pelzetter 7182696aba Authoring steps for multipart article part 1 2021-12-14 20:47:38 +01:00
Jens Pelzetter a172335c52 Fixed typo in JavaDoc. 2021-12-14 19:25:26 +01:00
Jens Pelzetter 26429cfda3 Some code formatting 2021-12-14 19:24:32 +01:00
Jens Pelzetter 470b1628e9 Moved Java classes for authoring steps of article to separate package. 2021-12-14 19:23:58 +01:00
Jens Pelzetter e640261066 * Remvoved log4j-core, log4j-api is now included in provided scope (provided by Wildfly)
* Fixed bug in folder tree
2021-12-13 20:52:34 +01:00
Jens Pelzetter 7dd51f4c46 Bugfixes for workflow handling. 2021-12-11 18:57:53 +01:00
Jens Pelzetter eef4210785 Fixed inconsistiency of canEdit usage in authoring steps 2021-12-09 21:02:57 +01:00
Jens Pelzetter 5bafec04a3 Item permissisons were not copied when publishing an item. 2021-12-08 19:45:12 +01:00
Jens Pelzetter 4f48eb9354 Opitimizations of models for MVC based pages application. 2021-12-04 17:52:31 +01:00
Jens Pelzetter 23f1fb1992 Created development theme in ccm-bundle-devel-wildfly 2021-11-30 20:42:30 +01:00
Jens Pelzetter ae330b71df Page Tree admin working 2021-11-27 20:01:30 +01:00
Jens Pelzetter f22df77bfe Some improvements for the PagesAdmin 2021-11-25 21:21:53 +01:00
Jens Pelzetter f9606862f2 Some bugfixes 2021-11-24 20:03:06 +01:00
Jens Pelzetter 6f2f0684b5 Edit page tree properties. 2021-11-23 19:45:36 +01:00
Jens Pelzetter 6820077da3 CMS Pages Admin 2021-11-22 21:01:42 +01:00
Jens Pelzetter fb4c6c6d2d Templates for management of page trees. 2021-11-20 18:40:45 +01:00
Jens Pelzetter 595e306524 Completed controller and models for management of page trees 2021-11-20 18:40:11 +01:00
Jens Pelzetter f717e6d657 Fixed typo 2021-11-20 18:39:48 +01:00
Jens Pelzetter a38dd54c41 Fixed typos in migrations scripts 2021-11-20 18:39:27 +01:00
Jens Pelzetter f998b2e5cf MVC controller and models for managing pages. 2021-11-20 14:52:02 +01:00
Jens Pelzetter 1ac439a428 Started implementation of UI for managing Pages instances and Page instances. 2021-11-18 20:32:49 +01:00
Jens Pelzetter e842cbc9ff Refactored CmsController because the class was becoming too large. 2021-11-18 19:53:05 +01:00
Jens Pelzetter f8ef994da0 Model for page properties. 2021-11-18 19:35:05 +01:00
Jens Pelzetter 2c7208818f Removed PageModel usage from Page entity. 2021-11-16 19:56:06 +01:00
Jens Pelzetter fa8b63c444 Disabled old PagesRouter and activated the PagesController 2021-11-15 18:42:02 +01:00
Jens Pelzetter 36b60b8844 Missing piece of PagesController 2021-11-15 18:41:35 +01:00
Jens Pelzetter 27b18d8888 Pages Application refactoring for MVC 2021-11-13 17:56:44 +01:00
Jens Pelzetter 6383aec674 JavaDoc for PagesController 2021-11-13 11:07:02 +01:00
Jens Pelzetter b44c29bc6c Marked PageRouter as depcreated, will be replaced with PagesController 2021-11-09 20:12:18 +01:00
Jens Pelzetter 25dc4be82f Basic structure for PagesController 2021-11-09 20:11:36 +01:00
Jens Pelzetter 82bddff404 Marked PageModel classes as depcrecated 2021-11-09 19:43:45 +01:00
Jens Pelzetter 5a94beeccf Code cleanup 2021-11-06 17:00:01 +01:00
Jens Pelzetter 020e4effa6 Model for PersonAssets 2021-11-06 16:52:18 +01:00
Jens Pelzetter 6c2c6e60fc Model for Organization asset. 2021-11-06 16:43:11 +01:00
Jens Pelzetter 2b951c981c Model for ContactableEntity asset 2021-11-06 16:39:32 +01:00
Jens Pelzetter 37750c793d Some Code improvements. 2021-11-06 16:03:47 +01:00
Jens Pelzetter b5c4ad89fd Model for ExternalVideoAssets 2021-11-06 16:03:34 +01:00
Jens Pelzetter ccf0fe5819 Model for ExternalAudioAssets 2021-11-06 15:53:39 +01:00
Jens Pelzetter 9ba0610308 Model for Bookmark assets. 2021-11-06 15:53:28 +01:00
Jens Pelzetter 9f515339e5 code formatting 2021-11-06 15:53:09 +01:00
Jens Pelzetter b73eeffa52 Stronger typing 2021-11-06 15:52:52 +01:00
Jens Pelzetter 4066af404f Model for VideoAssets 2021-11-06 14:49:58 +01:00
Jens Pelzetter 478cda35b6 Model for image assets. 2021-11-06 14:42:55 +01:00
Jens Pelzetter 13479343aa Model for FileAssets 2021-11-06 14:37:44 +01:00
Jens Pelzetter 46d343e79e Fixed some typos. 2021-11-06 14:34:52 +01:00
Jens Pelzetter f5d8c55bdf AudioAssetBuilder did not extend BinaryAssetModelBuilder 2021-11-06 14:27:04 +01:00
Jens Pelzetter 011107dd9a Model for AudioAsset. 2021-11-06 14:25:31 +01:00
Jens Pelzetter 1c8300d4d3 Model for BinaryAsset 2021-11-06 14:25:11 +01:00
Jens Pelzetter f46811f59a Call super.addProperties was missing. 2021-11-06 14:24:47 +01:00
Jens Pelzetter c307489d85 Model for RelatedLink asset. 2021-11-06 13:56:19 +01:00
Jens Pelzetter 9e57ec4cd5 Removed unused import. 2021-11-06 13:55:50 +01:00
Jens Pelzetter a9b36bd775 Infrastructure for models of Assets and some models for assets 2021-11-04 19:38:56 +01:00
Jens Pelzetter 2d5da3dc7f Code improvement. 2021-10-30 16:11:56 +02:00
Jens Pelzetter c689ed536c Model for item lists 2021-10-30 16:11:34 +02:00
Jens Pelzetter 8b3f18582f Some more models for the pages app 2021-10-30 11:53:49 +02:00
Jens Pelzetter 7cebc9a2bd Models for content item lists 2021-10-28 19:47:32 +02:00
Jens Pelzetter 4305242079 Some more models for MVC based pages application. 2021-10-27 20:09:53 +02:00
Jens Pelzetter d5cc0370bc MVC models/named beans for the pages application. 2021-10-23 17:40:46 +02:00
Jens Pelzetter 4d069eb109 Some bugfixes for the editor. 2021-10-23 12:51:19 +02:00
Jens Pelzetter 0d77ceb594 Use correct URL for saving. 2021-10-19 20:28:28 +02:00
Jens Pelzetter 773259f89e Audio and Video nodes for Tiptap based editor working 2021-10-19 20:03:34 +02:00
Jens Pelzetter 6c18304cd2 Additional service/endpoint for retrieving file content from a binary asset. 2021-10-18 21:22:59 +02:00
Jens Pelzetter 618893a41f Integrated audio node and video node into editor. 2021-10-16 18:56:12 +02:00
Jens Pelzetter 470cca567a Template and code for video node and audio node of the ccm-editor 2021-10-16 16:25:31 +02:00
Jens Pelzetter 5513dc178e Image Node for Tiptap working 2021-10-09 21:03:26 +02:00
Jens Pelzetter 2169e07ab2 Fixed icons 2021-10-07 19:06:20 +02:00
Jens Pelzetter e36c54b378 Translations for the editor 2021-10-06 20:23:49 +02:00
Jens Pelzetter ebd631c312 Process data from image node settings dialog 2021-10-05 20:49:33 +02:00
Jens Pelzetter d4cb8bb5bb Image Node settings dialog fields 2021-10-04 20:15:23 +02:00
Jens Pelzetter 8da183514e Progress for image node for TipTap: UI and dialog for image settings 2021-10-02 18:15:45 +02:00
Jens Pelzetter d72a740c15 Node View for image node 2021-09-30 20:50:21 +02:00
Jens Pelzetter 842d9e708b Added Remix icon set for use with editor UI. 2021-09-28 21:24:27 +02:00
Jens Pelzetter ebdf9cfe41 Skeleton for Image Node for Tiptap 2021-09-28 20:16:00 +02:00
Jens Pelzetter a28673c8e2 Reverted to Tiptap 2021-09-27 20:25:25 +02:00
Jens Pelzetter 50600de813 Skeleton of image plugin for editor.js 2021-09-25 20:04:56 +02:00
Jens Pelzetter ce1700b2b8 Icons for table editing 2021-09-07 20:20:17 +02:00
Jens Pelzetter 9032adc528 Added icons for some table operations 2021-09-04 19:17:07 +02:00
Jens Pelzetter ce5f4809a2 Integrated wildfly-jar-maven-plugin 2021-09-03 11:43:38 +02:00
Jens Pelzetter 26a62c9d19 Fixed some Javascript/Typescript issues 2021-09-02 17:13:17 +02:00
Jens Pelzetter 4766d88585 Update JavaScript dependencies. 2021-09-01 09:13:13 +02:00
Jens Pelzetter a8d7cb5499 Replaced Parcel bundler with Webpack. 2021-09-01 09:06:49 +02:00
Jens Pelzetter f136f75e11 Buttons for table editing. 2021-08-30 15:15:33 +02:00
Jens Pelzetter 05862f81eb Restructured text editor 2021-08-28 18:58:40 +02:00
Jens Pelzetter 3f8f44e2e7 Prepared improvment of editor code structure (Typescript part) 2021-08-26 20:37:12 +02:00
Jens Pelzetter 61e6d6945c Insert table now working for cms editor 2021-08-25 20:00:15 +02:00
Jens Pelzetter df4cab4b5c Work on the text editor. 2021-08-23 21:29:26 +02:00
Jens Pelzetter 55fd96523d Added Tiptab table plugin 2021-08-21 17:27:38 +02:00
Jens Pelzetter eeeb8a288f Paragraphy styles for text editor. 2021-08-21 11:59:48 +02:00
Jens Pelzetter 508720ca98 Additional functions for the text editor. 2021-08-19 20:30:47 +02:00
Jens Pelzetter c81e2757e7 Display of error messages in publish step. 2021-08-18 19:42:56 +02:00
Jens Pelzetter e81b3fbd4a Republish working 2021-08-18 19:12:56 +02:00
Jens Pelzetter cfe8810666 Bugfixes for unpublish 2021-08-17 20:32:36 +02:00
Jens Pelzetter 9bded5ad64 PublishStep: Publishing works, unpublishing not, republishing not tested yet. Some finetuning is also required. Also not all error messages set by the controller are displayed yet. 2021-08-07 19:49:23 +02:00
Jens Pelzetter eb1f0b1cba Bugfixes for MediaStep 2021-08-07 15:51:05 +02:00
Jens Pelzetter e3970246c3 Highlight current authoring step 2021-08-07 15:50:40 +02:00
Jens Pelzetter c75d718978 Added templates, JavaScript and translations for the media step. Slight renaming for related info step to avoid conflicts. 2021-08-05 20:53:56 +02:00
Jens Pelzetter f4b73670af Java part for the media authoring step. 2021-08-04 20:32:52 +02:00
Jens Pelzetter 90471ca4e3 Cleanup 2021-08-04 20:32:38 +02:00
Jens Pelzetter 89443517c1 Code formatting 2021-08-04 20:32:12 +02:00
Jens Pelzetter a41c032e40 Updated Java version to 11 2021-08-04 20:31:10 +02:00
Jens Pelzetter 30ee6ddd2a CategoryStep finished 2021-08-03 20:52:14 +02:00
Jens Pelzetter 46d21adcea CategorizationStep implementation 2021-08-02 21:24:30 +02:00
Jens Pelzetter 2dc82dff7c Merge branch 'ccm-cms-mvc' of git.libreccm.org:LibreCCM/libreccm into ccm-cms-mvc 2021-07-31 17:49:41 +02:00
Jens Pelzetter 16f8a69131 * Update to Wildfly 24.0.1
* Fixed problem with Themes when not default site is available
2021-07-31 17:59:25 +02:00
Jens Pelzetter 0b2f844e49 RelatedInfo step save sort works now, cleanup 2021-07-31 15:05:56 +02:00
Jens Pelzetter 7eaba5ee31 Info modals for related info 2021-07-31 10:47:38 +02:00
Jens Pelzetter d14e2433da Removal of attachments working 2021-07-29 21:01:21 +02:00
Jens Pelzetter 069592cdbc Deletion of attachment list now works 2021-07-29 19:11:54 +02:00
Jens Pelzetter d58fa954b9 Several small things for the related info step. 2021-07-28 21:19:02 +02:00
Jens Pelzetter 9a9e5dc767 Implemented adding file attachments (not tested yet) 2021-07-27 20:30:48 +02:00
Jens Pelzetter 16bdc50f0e Setting target for related link. 2021-07-26 21:18:04 +02:00
Jens Pelzetter c8f36b9099 ContentItemPicker component and bugfixes for asset picker 2021-07-24 17:40:41 +02:00
Jens Pelzetter 80cf9143ee Bugfixes for RelatedInfoStep 2021-07-22 21:17:26 +02:00
Jens Pelzetter 30320485d4 Related Link step 2021-07-21 21:09:07 +02:00
Jens Pelzetter 33c72859ee Forms for adding and editing internal links (not finished yet) 2021-07-20 21:09:29 +02:00
Jens Pelzetter 69511fe5e7 Edit attachment list properties 2021-07-19 21:40:54 +02:00
Jens Pelzetter 1e552ba569 * RelatedInfo authoring step: Add attachment list working
* updated bootstrap-icons to 1.5.0
2021-07-17 18:58:57 +02:00
Jens Pelzetter 3b3a241ba2 JavaScript functions for ordering attachment lists and attachments 2021-07-17 12:11:20 +02:00
Jens Pelzetter 9b95f72c5c Integrated sortable.js 2021-07-14 20:29:21 +02:00
Jens Pelzetter 719d386410 Audio and Video Asset bugfixes 2021-07-10 17:30:50 +02:00
Jens Pelzetter 0f44e9d70c Image handling and file upload bug fixes. 2021-07-08 20:20:12 +02:00
Jens Pelzetter 204c2ee39d Some bugfixes for the image asset. 2021-07-06 20:40:42 +02:00
Jens Pelzetter c21fc6ec0f XHTML files for create and edit steps of AudioAsset, Image, and VideoAsset. 2021-07-03 17:20:42 +02:00
Jens Pelzetter 4618716d09 Several create and edit steps. 2021-07-01 19:56:29 +02:00
Jens Pelzetter 6d850fb503 Service class for images. 2021-07-01 19:56:13 +02:00
Jens Pelzetter 1bad56eafe More cleanup and JavaDoc. 2021-06-30 20:05:50 +02:00
Jens Pelzetter e18525a2a5 Cleanup 2021-06-30 19:50:43 +02:00
Jens Pelzetter 36c9ec8a61 Uploading works now with Envers. 2021-06-30 19:50:10 +02:00
Jens Pelzetter f022a9540d Moved logic for saving asset data to separate class. 2021-06-29 20:39:57 +02:00
Jens Pelzetter 100f6f45f8 Some optimiziations for file upload code. 2021-06-28 19:39:36 +02:00
Jens Pelzetter e369258c30 Updated Wildfly version 2021-06-28 18:40:14 +02:00
Jens Pelzetter d0bad06c21 Using java.sql.Blob and Hibernate specific classes for handling binary data. 2021-06-26 19:12:10 +02:00
Jens Pelzetter 65425ee88f Improvements for handling binary assets 2021-06-24 21:12:01 +02:00
Jens Pelzetter de65988459 Bugfixes for BinaryAssetDataService 2021-06-23 21:06:20 +02:00
Jens Pelzetter c8382b6660 Abstraction for storing binary asset data, and default implementation using java.sql.Blob and Streams. 2021-06-22 20:49:41 +02:00
Jens Pelzetter 31015b0739 Bugfixes for external video asset. 2021-06-15 20:03:15 +02:00
Jens Pelzetter 6e13dd6019 Bugfixes for the UI of ExternalAudioAsset and ExternalVideoAsset. 2021-06-14 20:27:33 +02:00
Jens Pelzetter 178789690f Create and edit steps for external audio and video assets. 2021-06-12 17:50:56 +02:00
Jens Pelzetter f7ae8f8238 Create and Edit Step for Organization Assets 2021-06-12 14:57:31 +02:00
Jens Pelzetter 11d17341a8 Some bugfixes for editing contactable entities. 2021-06-11 20:15:49 +02:00
Jens Pelzetter e18d5e29c1 Configuration UI for managing the usable contact data entry keys 2021-06-10 20:57:19 +02:00
Jens Pelzetter 00c8cbc5ae Logic for managing contact entry keys. 2021-06-09 20:23:53 +02:00
Jens Pelzetter e72976252a Adding, changing and removing an associated postal address to/from a person now works. 2021-06-09 19:08:05 +02:00
Jens Pelzetter a928902b36 Bugfixes for the asset picker 2021-06-08 20:35:52 +02:00
Jens Pelzetter 95e3e5d073 Some improvements for TypeScript building 2021-06-07 20:32:19 +02:00
Jens Pelzetter 864d3ca94e Bugfixes for asset picker component. 2021-06-05 19:24:00 +02:00
Jens Pelzetter 0bc50c4ca7 JavaScript packages upgrade 2021-06-05 19:23:36 +02:00
Jens Pelzetter b5797f6ad7 Updated Node.js version 2021-06-05 19:23:19 +02:00
Jens Pelzetter 813d5d1136 Some improvments for the person edit step 2021-06-03 20:45:55 +02:00
Jens Pelzetter 025e48aae0 Bugfixes for asset picker 2021-06-02 20:49:41 +02:00
Jens Pelzetter b46634f5ec Bugfixes for create and edit steps of person asset. 2021-06-01 21:14:40 +02:00
Jens Pelzetter 07af86a955 UI for editing Persons and ContactableEntities 2021-05-31 20:50:42 +02:00
Jens Pelzetter 1d0e1e0ec6 package-lock updates 2021-05-29 17:55:48 +02:00
Jens Pelzetter ca081f94df Compoments and resusable classes for subclasses of ContactableEntity, base structure for asset picker component 2021-05-29 17:54:49 +02:00
Jens Pelzetter 1bdddb5243 FileAsset file upload now works 2021-05-27 20:31:57 +02:00
Jens Pelzetter 0619a19ee2 Some bugfixes 2021-05-25 19:49:02 +02:00
Jens Pelzetter 6923f32b76 Added missing CSS class 2021-05-25 19:48:47 +02:00
Jens Pelzetter f38d7d1d02 Latest schema updates for tests 2021-05-25 19:48:27 +02:00
Jens Pelzetter e8c13c6c0a Removed non null constraint for URL field for Bookmark asset. Does not work because assets are first created without any special fields. 2021-05-25 19:47:12 +02:00
Jens Pelzetter 98be2152dd Translations for assets 2021-05-24 18:41:34 +02:00
Jens Pelzetter a11c98614c UI for file assets 2021-05-24 18:41:24 +02:00
Jens Pelzetter c5d3125dcd Bugfixes for SideNote assets 2021-05-24 18:40:48 +02:00
Jens Pelzetter b083446c71 Bugfixes for LegalMetaData assets 2021-05-24 18:40:20 +02:00
Jens Pelzetter c8bf618eb1 UI for bookmark assets 2021-05-24 18:39:48 +02:00
Jens Pelzetter 050beb3efb Code formatting 2021-05-24 18:39:12 +02:00
Jens Pelzetter 81425f9f2d Moved common controls for editing assets to the base template for asset edit steps. 2021-05-22 17:21:58 +02:00
Jens Pelzetter 83e65415de MVC Controllers should be named beans 2021-05-22 16:54:54 +02:00
Jens Pelzetter 8d674ac140 MVC controllers should not be named beans 2021-05-22 14:52:00 +02:00
Jens Pelzetter bf26825663 Some bugfixes for the side notes edit step. 2021-05-19 19:17:20 +02:00
Jens Pelzetter 5711a086ea SideNoteEditStep bugfixes 2021-05-18 20:29:55 +02:00
Jens Pelzetter 0cce876a5b Moved some code to the abstract base classes of the create/edit steps for assets, steps for creating and editing side notes. 2021-05-17 20:54:19 +02:00
Jens Pelzetter 101f802d9c Several improvements for path handling and asset creation and editing. 2021-05-15 17:53:26 +02:00
Jens Pelzetter 6b125c532f Template for create and edit step for postal address assets 2021-05-14 17:52:47 +02:00
Jens Pelzetter c64155af7b Create and edit steps for postal address asset 2021-05-14 14:51:33 +02:00
Jens Pelzetter bf62007391 Some typos fixed, base classes for asset edit steps 2021-05-14 11:39:01 +02:00
Jens Pelzetter cf79f39a7a Infrastructure for assets UI 2021-05-13 17:44:44 +02:00
Jens Pelzetter 59dac810ac Fixed typos in comments 2021-05-13 17:44:33 +02:00
Jens Pelzetter 3c486f7610 Some improvments for the text editor 2021-05-13 12:47:39 +02:00
Jens Pelzetter 4a6478c78b TextBody Step basiclly works now 2021-05-12 20:17:44 +02:00
Jens Pelzetter 62d98af857 ArticleTextBodyStep UI mostly works 2021-05-11 21:04:20 +02:00
Jens Pelzetter b526f9eac2 Current status text step 2021-05-10 21:24:48 +02:00
Jens Pelzetter 5dc98cfe8a Typos in localized text editor 2021-05-10 21:24:32 +02:00
Jens Pelzetter 0d5a74bfb1 Next part of the article text body step 2021-05-08 20:09:41 +02:00
Jens Pelzetter 1abf3d96a1 Some bugfixing 2021-05-04 20:37:32 +02:00
Jens Pelzetter e8b9d5940b Updated JS dependencies in ccm-cms 2021-05-04 20:37:19 +02:00
Jens Pelzetter d6a0874654 Several bugfixes for the workflow widget 2021-05-03 20:40:06 +02:00
Jens Pelzetter 2be640f8d4 Several bugfixes for workflow and task handling 2021-05-01 17:55:30 +02:00
Jens Pelzetter b140923d86 Base class for all authoring steps 2021-05-01 11:38:25 +02:00
Jens Pelzetter 0baaefa543 Editing localized basic properties of an article 2021-04-29 20:52:47 +02:00
Jens Pelzetter e36d9eb924 Some bugfixes for the localizedStringEditor 2021-04-29 20:52:33 +02:00
Jens Pelzetter 12a3d14233 Editing names for articles 2021-04-28 20:44:35 +02:00
Jens Pelzetter e010e5a653 Authoring steps are shown 2021-04-27 21:14:30 +02:00
Jens Pelzetter 68f973cf15 Some bugfixes and typos 2021-04-26 20:27:09 +02:00
Jens Pelzetter 6c9b3748d0 AuthoringSteps are now ordinary MVC controllers 2021-04-24 20:36:47 +02:00
Jens Pelzetter a31e242c48 New annotations for authoring steps 2021-04-20 20:05:48 +02:00
Jens Pelzetter 5239c601a8 Some cleanup 2021-04-20 20:05:34 +02:00
Jens Pelzetter c2aa9ba307 Preparation for Authoring Steps integration 2021-04-19 20:07:39 +02:00
Jens Pelzetter 49c1467777 Get createstep from MvcAuthoringKit annotation 2021-04-19 19:53:28 +02:00
Jens Pelzetter 270316e37a Added missing class 2021-04-19 19:46:16 +02:00
Jens Pelzetter 9dc794a5fb Create steps now working 2021-04-15 21:14:47 +02:00
Jens Pelzetter 2ab4b0c5ed Create step is now found 2021-04-14 20:52:36 +02:00
Jens Pelzetter 7d9193c474 Create Steps basic structure 2021-04-13 21:16:28 +02:00
Jens Pelzetter fa9fab7ad0 Dialog for creating new items 2021-04-07 21:31:24 +02:00
Jens Pelzetter fe0bfd2d31 Fixed several typos 2021-04-06 20:58:35 +02:00
Jens Pelzetter 073d37a3de Translations for the UI for managing content items/documents 2021-04-03 19:20:57 +02:00
Jens Pelzetter 5a75dc41a3 Permission checks for authoring steps 2021-04-03 14:40:33 +02:00
Jens Pelzetter 2381460166 Removed some unused classes and imports 2021-04-03 10:47:49 +02:00
Jens Pelzetter b6b3db46ec JavaDoc for classes in ccm-cms/org.librecms.ui.contenttypes 2021-04-02 15:04:04 +02:00
Jens Pelzetter 892476c905 Fixed license headers 2021-04-02 15:03:43 +02:00
Jens Pelzetter f79b6abe09 Fixed license headers, added JavaDoc 2021-04-02 14:46:10 +02:00
Jens Pelzetter b2b7d8d7b6 JavaDoc for classes in ccm-cms/org.librecms.ui.contentsections.documents 2021-04-01 21:14:44 +02:00
Jens Pelzetter 834070ca4a Fixed license headers and added JavaDoc 2021-03-31 20:56:41 +02:00
Jens Pelzetter 0c7d393afe Removed unused class 2021-03-31 20:56:27 +02:00
Jens Pelzetter a03fb61f0a Fixed JavaDoc config 2021-03-31 20:56:13 +02:00
Jens Pelzetter 88b29d2563 UI for related info including related links 2021-03-30 20:45:52 +02:00
Jens Pelzetter b27b5e5dc5 Template for related info step 2021-03-29 21:05:55 +02:00
Jens Pelzetter 1577130605 Controller for PublishStep, various templates 2021-03-27 17:53:05 +01:00
Jens Pelzetter 8bd923a1d9 Controller for Related Info Step 2021-03-27 14:01:14 +01:00
Jens Pelzetter 6e98817611 Fixed a typo 2021-03-25 20:08:27 +01:00
Jens Pelzetter c2bce08eef First part of authoring step for related info 2021-03-25 20:07:43 +01:00
Jens Pelzetter 1e3c3c3f61 Templates for CategorizationStep 2021-03-24 20:08:36 +01:00
Jens Pelzetter 12b8f59b76 Fixed typos 2021-03-23 21:23:29 +01:00
Jens Pelzetter ca520a11c0 Controller Categorization Authoring Step 2021-03-23 21:23:02 +01:00
Jens Pelzetter 6070c6aae1 Authoring Step for text body 2021-03-22 20:35:29 +01:00
Jens Pelzetter b584b895d6 EE MVC based AuthoringSteps 2021-03-20 17:37:51 +01:00
Jens Pelzetter 4b1a3e8f27 Template Skeletons for editing content items, some refactoring 2021-03-18 21:11:19 +01:00
Jens Pelzetter a6119e09a2 Some refactoring 2021-03-18 19:24:35 +01:00
Jens Pelzetter f9eac9c1c2 JavaDoc 2021-03-17 20:01:38 +01:00
Jens Pelzetter b5e33557a6 Some JavaDoc 2021-03-16 21:28:21 +01:00
Jens Pelzetter 59b4215cd8 DocumentController methods finished 2021-03-16 20:07:00 +01:00
Jens Pelzetter c7a8756c9c Controller methods for workflow and lifecycle management of content items/documents 2021-03-15 21:09:42 +01:00
Jens Pelzetter b5178788c2 Basic structure for EE MVC based create and authoring steps 2021-03-13 17:37:07 +01:00
Jens Pelzetter 5b854d78a1 Removed obsolete import 2021-03-13 17:36:28 +01:00
Jens Pelzetter 7471e031da Some work on the interfaces for create step descriptors and authoring step descriptors
Former-commit-id: e9bf0d26aa796717b9910784503856d55b70a86a
2021-03-10 20:45:31 +01:00
Jens Pelzetter 3925b228bb Some JavaDoc
Former-commit-id: da8f3bb3035715a982cc4ff47b783f1a209e8ce2
2021-03-09 21:08:22 +01:00
Jens Pelzetter faf1ce622a New authoring kit annotiation for MVC based authoring steps
Former-commit-id: 6c76578621c2f384d699f2eb3b7bf476f3db2591
2021-03-09 20:47:07 +01:00
Jens Pelzetter 69f246f8a1 Some bugfixes
Former-commit-id: 95af9a5f45798e949634b352b3a264353012714b
2021-03-08 21:04:36 +01:00
Jens Pelzetter e3df86ca21 UI for managing lifecycles and workflows for content sections
Former-commit-id: 14ed70a7896bec6282388a121345dd4fa35cbabc
2021-03-06 22:01:03 +01:00
Jens Pelzetter d7dd75dfe0 Views for managing lifecycles and workflows for content sections
Former-commit-id: a745419bc0d71c2450982753cf5437813433ba10
2021-03-06 17:37:38 +01:00
Jens Pelzetter 121363f6ee Typo
Former-commit-id: 2f12ee923c55e6e50258f6eade095c7df0b3fe22
2021-03-04 20:36:38 +01:00
Jens Pelzetter bd5b9cf3e4 Controller for managing Workflow templates
Former-commit-id: 03c06e69b6f7d6957c24ad7d7e4d44c20e14d05b
2021-03-04 20:28:34 +01:00
Jens Pelzetter 04c7de59d0 Controller for managing LifecyclesDefinitions
Former-commit-id: bc93d8f5d11b62f33536bd03dcb08f4642d4492d
2021-03-03 21:00:02 +01:00
Jens Pelzetter 71f3c07d41 Refactoring
Former-commit-id: eb0a3e61043e50467f73782c91dde61944c7bfb0
2021-03-03 19:49:04 +01:00
Jens Pelzetter 5c2c27e4aa Some refactoring
Former-commit-id: dfe53097a12da0301837f3d7f1cf72373820efe1
2021-03-02 20:33:16 +01:00
Jens Pelzetter d2ddfac6e8 Some refactoring
Former-commit-id: d24f46e0088ec14a1c887b41f74a629dd968a305
2021-03-01 19:51:24 +01:00
Jens Pelzetter 84949ba099 Skeleton for controller for UI for managing workflow tempates for content sections
Former-commit-id: 07dd21721b89d2caac21b632f4bf581c0e570aa5
2021-02-27 19:47:03 +01:00
Jens Pelzetter 2bf0d0d64b Skeleton of controller of lifecycles management UI
Former-commit-id: ca81a6c8d0dbe685211b38f63fb6836ea001e080
2021-02-27 19:33:10 +01:00
Jens Pelzetter 7824208d36 Content Types Management UI
Former-commit-id: 3f43eab84bcce3087cbe96d4464fc9ea25c74efa
2021-02-27 19:14:31 +01:00
Jens Pelzetter bfb3b972da Managing descriptions of roles for content sections
Former-commit-id: d9a3627a974e140c8f6ad715dbd2730ee63e8905
2021-02-25 07:51:15 +01:00
Jens Pelzetter f22e00b166 Management of roles for Content Sections
Former-commit-id: 7507a3032162f8df0d09cc511afaf873d4785780
2021-02-24 21:45:05 +01:00
Jens Pelzetter 99d13efbde Role Managment for content sections
Former-commit-id: 9d017e313fd80872055bd7f3935215357e149d81
2021-02-23 21:34:30 +01:00
Jens Pelzetter 1e0e5f6f65 UI for managing roles in the CMS Admin UI
Former-commit-id: 84d3752b1f87758fda3226351ad5f4e0ce012019
2021-02-22 20:57:15 +01:00
Jens Pelzetter f687a2c875 Role management for content sections
Former-commit-id: 5cf55c6de7f02399e7680010babdd93961003038
2021-02-20 19:01:45 +01:00
Jens Pelzetter ddcd759c2e Some extra permission checks
Former-commit-id: 17639675976a3150f8d9f10e6d776f1f52b51e1b
2021-02-20 11:42:55 +01:00
Jens Pelzetter 6effd9f73b Manage objects in category for cms admin
Former-commit-id: fe6b3a8e06245e6810662a9ec9e4301bb48e29e8
2021-02-20 11:22:57 +01:00
Jens Pelzetter 086a8622de Some bugfixes for category ordering
Former-commit-id: 9de74d77291d945df502383710a1b5cffbbc86e6
2021-02-19 17:36:08 +01:00
Jens Pelzetter f8d7da1fde Category management for CMS admin
Former-commit-id: b6bf21bc6aeb054c962012ef41c911cc03c35ad2
2021-02-18 21:33:26 +01:00
Jens Pelzetter 32d79121a6 Editing of localized titles and descriptions for categories in cms admin finished
Former-commit-id: 066d873b5c70a49fdd24812f60f92045b8d444ff
2021-02-17 20:01:31 +01:00
Jens Pelzetter 66cdcaf820 Fixed version of Wildfly, some work on categories edit for CMS Admin
Former-commit-id: b45eb95aaab2a53aa2af91ae2b3078786d8403cf
2021-02-16 21:31:21 +01:00
Jens Pelzetter 722f5c210f Progress on the category management for cms admin
Former-commit-id: ec215c08aad419ee672cf71cb50a20be0dcff69c
2021-02-15 21:08:56 +01:00
Jens Pelzetter 10ce888689 Category tree for cms admin ui
Former-commit-id: 081ff7d7c6f9c3814c5a069e42712ed307337464
2021-02-13 19:51:54 +01:00
Jens Pelzetter d0341133b3 Mapped category systems overview
Former-commit-id: 05725feb84de36f9124e0a36109bb70321edd655
2021-02-12 19:33:56 +01:00
Jens Pelzetter 499eff6321 Redirect /@contentsections/{sectionIdentifier}/ to /@contentsections/{sectionIdentifier}/documentfolders
Former-commit-id: d543f7a115d2b3150a5bec2a24f83f152f3a2ab6
2021-02-12 17:50:35 +01:00
Jens Pelzetter 5965e3ca43 Controller for managing categories in category systems assigned to a Content Section
Former-commit-id: 327431ed5e069959e238a69382773d5fd9bc469c
2021-02-11 21:02:56 +01:00
Jens Pelzetter 197eefeeae Fixed a small typo
Former-commit-id: 974136cd7d32fc3cf7ad4129cc4c9bd5ecc40b18
2021-02-11 20:40:41 +01:00
Jens Pelzetter 0f1f0fadd4 Controller for categories view in cms admin UI
Former-commit-id: 2d959e5ced3b027376a18134ad2941966ba0a63b
2021-02-10 20:43:49 +01:00
Jens Pelzetter 7bd424537e AssetFolder view
Former-commit-id: 4489b16195dc7155096c89c61916dc52b9b7a039
2021-02-10 20:43:18 +01:00
Jens Pelzetter 00e1da3141 AssetFolder UI classes (controller, models), some refactoring
Former-commit-id: e564c44c3a
2021-02-08 20:58:33 +01:00
Jens Pelzetter 46058678dd Renaming document folders
Former-commit-id: f3fca55a82
2021-02-07 09:43:13 +01:00
Jens Pelzetter 67168fcbff Content Sections UI: Edit permissions, dialog for renaming folders
Former-commit-id: d23b783607
2021-02-06 20:06:40 +01:00
Jens Pelzetter dd6070384a Permissions table
Former-commit-id: 3562852d18
2021-02-04 21:18:56 +01:00
Jens Pelzetter 8aa371571d Some refactoring, and permissions checks
Former-commit-id: 65ef6af336
2021-02-03 20:26:22 +01:00
Jens Pelzetter af0b0c12a0 Access checks
Former-commit-id: 31d6b6c434
2021-02-03 17:16:34 +01:00
Jens Pelzetter c1bcd77b03 Create subfolders
Former-commit-id: 4b4666ce91
2021-02-02 21:37:57 +01:00
Jens Pelzetter 83cfd6be6c Some layout improvments
Former-commit-id: 48dc471342
2021-02-01 21:29:16 +01:00
Jens Pelzetter 1b2eff61b7 Some renames/reorgnization of classes
Former-commit-id: 8dc28751bc
2021-02-01 20:02:12 +01:00
Jens Pelzetter c9c1025394 Document Folder Tree
Former-commit-id: 8b93880488
2021-01-28 21:13:50 +01:00
Jens Pelzetter 5b7ba6c146 DocumentFolderBrower view for content sections
Former-commit-id: e518759964
2021-01-27 21:20:49 +01:00
Jens Pelzetter 81a6e93ddb DocumentFolder entries listing
Former-commit-id: 2917078e55
2021-01-26 21:08:12 +01:00
Jens Pelzetter 008f57ca16 Fixed typos in query
Former-commit-id: 725b8abc55
2021-01-26 07:42:16 +01:00
Jens Pelzetter e999ac290b Faster (native SQL) queries for folder browsing
Former-commit-id: 40efbfdc6e
2021-01-25 21:50:51 +01:00
Jens Pelzetter 6dcf94069e Model for the folder browser
Former-commit-id: 80b568cc28
2021-01-21 21:31:36 +01:00
Jens Pelzetter 78a0f86864 Layout draft for folder browser
Former-commit-id: 7a97fba95b
2021-01-20 21:28:57 +01:00
Jens Pelzetter 93a8b8dff7 Fixed path for cms administration UI
Former-commit-id: 1c0081c990
2021-01-20 17:43:01 +01:00
Jens Pelzetter 379251371d First part of FolderBrowser for MVC based UI
Former-commit-id: b2842d1c4e
2021-01-19 21:38:13 +01:00
Jens Pelzetter 5adf223121 Deleting content section (if empty) works now
Former-commit-id: 98c00fd677
2021-01-19 20:19:49 +01:00
Jens Pelzetter a63147b480 MVC based UI for Content Section management
Former-commit-id: dd8d8d1aac
2021-01-18 21:38:52 +01:00
Jens Pelzetter 33ff5755e8 Dialog for adding new content sections
Former-commit-id: 7a630d0258
2021-01-16 20:13:37 +01:00
Jens Pelzetter df2c0357ae Named bean for providing information about the current user
Former-commit-id: df5aef34a0
2021-01-15 09:48:54 +01:00
Jens Pelzetter ec19b3f7e2 List of content sections
Former-commit-id: cf4ec00f5d
2021-01-14 21:09:22 +01:00
Jens Pelzetter 7ba904f3f1 Fixed remaining links in @admin
Former-commit-id: 573af19c5f
2021-01-14 20:14:52 +01:00
Jens Pelzetter 840365ff0e Fixed links in /@admin/configuration
Former-commit-id: fe52bfb1b8
2021-01-14 19:20:27 +01:00
Jens Pelzetter f8838f37b4 Fixed links for users-groups-roles
Former-commit-id: 3fc39d71a8
2021-01-14 18:50:39 +01:00
Jens Pelzetter 86b924b5bc Fixed several links in ccm-admin
Former-commit-id: c2dbc40923
2021-01-12 21:12:51 +01:00
Jens Pelzetter e289b428f5 Removed usage of MvcContext#uri
Former-commit-id: d4b27e04c9
2021-01-12 18:55:21 +01:00
Jens Pelzetter e3b428536f Some small improvements concerning some URLs
Former-commit-id: c5c657c449
2021-01-11 21:30:40 +01:00
Jens Pelzetter 38ecc4df18 Some work on the content sections admin app
Former-commit-id: 6fee82e83b
2021-01-11 20:30:25 +01:00
Jens Pelzetter ee2ba67534 Abstract base class for messages beans
Former-commit-id: f5058a665c
2021-01-11 20:29:21 +01:00
Jens Pelzetter fa0c169f7e Basic setup for EE MVC in ccm-cms
Former-commit-id: 87b688ddf4
2021-01-09 19:02:48 +01:00
2123 changed files with 141597 additions and 203243 deletions

3
.gitignore vendored
View File

@ -1,5 +1,6 @@
it-pgsql-datasources.properties it-pgsql-datasources.properties
nb-configuration.xml nb-configuration.xml
nbproject
node node
node_modules node_modules
runtime runtime
@ -7,8 +8,10 @@ target
.cache .cache
.classpath .classpath
.factorypath .factorypath
.parcel-cache
.project .project
.settings .settings
.tscache .tscache
*.vscode *.vscode
/ccm-core/nbproject/ /ccm-core/nbproject/
/ccm-cms/nbproject/

9
Jenkinsfile vendored
View File

@ -1,13 +1,14 @@
pipeline { pipeline {
agent any agent any
tools { tools {
maven 'apache-maven-3.6.0' maven 'apache-maven-3.8.4'
} }
stages { stages {
stage('Build and Test') { stage('Build and Test') {
steps { steps {
dir('') { dir('') {
sh 'mvn clean package verify -Prun-its-with-wildfly-h2mem -Dwildfly.propertiesFile=/srv/libreccm-wildfly.properties' //sh 'mvn clean package verify -Prun-its-with-wildfly-h2mem -Dwildfly.propertiesFile=/srv/libreccm-wildfly.properties'
sh 'mvn clean package'
} }
} }
} }
@ -19,6 +20,10 @@ pipeline {
} }
} }
stage("Deploy") { stage("Deploy") {
environment {
DEPLOY_TOKEN = credentials('gitea_libreccm_ci_packages')
NPM_TOKEN = credentials('gitea_libreccm_ci_packages')
}
steps { steps {
dir('') { dir('') {
configFileProvider([configFile(fileId: 'libreccm-packages-deploy', variable: 'MAVEN_SETTINGS')]) { configFileProvider([configFile(fileId: 'libreccm-packages-deploy', variable: 'MAVEN_SETTINGS')]) {

View File

@ -221,7 +221,7 @@
<configuration> <configuration>
<linkXref>true</linkXref> <linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding> <sourceEncoding>utf-8</sourceEncoding>
<targetJdk>1.8</targetJdk> <targetJdk>11</targetJdk>
<rulesets> <rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset> <ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset> <ruleset>/rulesets/java/braces.xml</ruleset>

View File

@ -1,210 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-thorntail</artifactId>
<packaging>war</packaging>
<name>LibreCCM Devel Bundle for Thorntail</name>
<url>http://www.libreccm.org</url>
<distributionManagement>
<site>
<id>libreccm-site</id>
<name>LibreCCM</name>
<url>http://www.libreccm.org/project-sites/</url>
</site>
</distributionManagement>
<organization>
<name>LibreCCM Foundation</name>
</organization>
<licenses>
<license>
<name>LGPLv2 or newer</name>
<url>http://www.gnu.org/licenses/lgpl-2.0.html</url>
</license>
</licenses>
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<!-- <dependencyManagement>
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>bom</artifactId>
<version>2.4.0.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>-->
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>cdi</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>datasources</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>ejb</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>hibernate-search</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
<!-- <dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs-cdi</artifactId>
</dependency>-->
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs-jsonp</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jpa</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jsf</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jsonp</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>logging</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>mail</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>undertow</artifactId>
</dependency>
<dependency>
<groupId>org.libreccm</groupId>
<artifactId>ccm-wildfly</artifactId>
<version>7.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5.jre7</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
</dependency>
</dependencies>
<build>
<finalName>ccm-bundle-devel-wildfly</finalName>
<plugins>
<plugin>
<groupId>io.thorntail</groupId>
<artifactId>thorntail-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,215 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--<parent>
<groupId>org.libreccm</groupId>
<artifactId>libreccm-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>-->
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-swarm</artifactId>
<packaging>war</packaging>
<name>LibreCCM Devel Bundle for Wildfly Swarm</name>
<url>http://www.libreccm.org</url>
<distributionManagement>
<site>
<id>libreccm-site</id>
<name>LibreCCM</name>
<url>http://www.libreccm.org/project-sites/</url>
</site>
</distributionManagement>
<organization>
<name>LibreCCM Foundation</name>
</organization>
<licenses>
<license>
<name>LGPLv2 or newer</name>
<url>http://www.gnu.org/licenses/lgpl-2.0.html</url>
</license>
</licenses>
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>bom-all</artifactId>
<version>2017.11.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>cdi</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>container</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>datasources</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>ejb</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>hibernate-search</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jaxrs-cdi</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jpa</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jsf</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>logging</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>mail</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>undertow</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.1.4.jre7</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.3.5</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
<version>2.0.1-2</version>
</dependency>
</dependencies>
<build>
<finalName>ccm-bundle-devel-wildfly</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-plugin</artifactId>
<!--<configuration>
<mainClass>org.libreccm.CcmBundleDevel</mainClass>
</configuration>-->
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
<include>VAADIN/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,19 +0,0 @@
package org.libreccm;
import org.wildfly.swarm.Swarm;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class CcmBundleDevel {
public static void main(final String[] args) throws Exception {
final Swarm swarm = new Swarm();
swarm.start();
}
}

View File

@ -1,19 +0,0 @@
package org.libreccm;
import org.wildfly.swarm.Swarm;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class CcmBundleDevel {
public static void main(final String[] args) throws Exception {
final Swarm swarm = new Swarm();
swarm.start();
}
}

View File

@ -1,102 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<!--<Logger name="org.hibernate"
level="info">
</Logger>
<Logger name="org.hibernate.SQL"
level="debug">
</Logger>
<Logger name="org.hibernate.type"
level="trace">
</Logger>
<Logger name="org.hibernate.type.descriptor.sql"
level="trace">
</Logger>-->
<!--<Logger name="com.arsdigita.bebop.util.Traversal"
level="debug">
</Logger>-->
<Logger name="com.arsdigita.cms.ui.assets.AssetFolderBrowserController"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.folder.FolderBrowserTableModelBuilder"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.AdminServlet"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.configuration.ConfigurationTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.usersgroupsroles.UsersTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.assets.AssetPane"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.login.UserLoginForm"
level="debug">
</Logger>
<Logger name="com.arsdigita.packaging.Config"
level="debug">
</Logger>
<Logger name="com.arsdigita.templating.PatternStylesheetResolver"
level="info">
</Logger>
<Logger name="com.arsdigita.templating.SimpleURIResolver"
level="warn">
</Logger>
<Logger name="com.arsdigita.web.CCMDispatcherServlet"
level="debug">
</Logger>
<Logger name="org.libreccm.core.AbstractEntityRepository"
level="debug">
</Logger>
<Logger name="org.libreccm.modules.CcmIntegrator"
level="debug">
</Logger>
<Logger name="org.libreccm.pagemodel.PageModelManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.OneTimeAuthTokenCleaner"
level="debug">
</Logger>
<Logger name="org.libreccm.security.PermissionManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.Shiro"
level="debug">
</Logger>
<Logger name="org.libreccm.ui.admin.usersgroupsroles.RolesController"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.AssetRepository"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionSetup"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionServlet"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.rs.Images"
level="debug">
</Logger>
<Logger name="com.arsdigita.web.DefaultApplicationFileResolver"
level="debug">
</Logger>
</Loggers>
</Configuration>

View File

@ -1,5 +0,0 @@
swarm:
deployment:
ccm-bundle-devel-wildfly.war:
jaxrs:
application-path: /jaxrs

View File

@ -1,17 +0,0 @@
[main]
filterChainResolver = org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver
passwordMatcher = org.apache.shiro.authc.credential.PasswordMatcher
passwordService = org.apache.shiro.authc.credential.DefaultPasswordService
passwordMatcher.passwordService = $passwordService
ccmRealm = org.libreccm.security.CcmShiroRealm
ccmRealm.credentialsMatcher = $passwordMatcher
securityManager.realms = $ccmRealm
securityManager.rememberMeManager.cipherKey = p5h/Aphy0gfV+XThbEPqSG4iQNh2fTNH9ZEkSBAt/Ok=
cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $cacheManager

View File

@ -1,65 +0,0 @@
# -*- text -*-
# This file locates stylesheets, if you are using the
# "PatternStylesheetResolver". Please read the Javadoc for that file for
# the full story.
# Currently the "resource" part is actually "short-circuited", see
# Templating#transformURL(url). As long as we store and synchronize all theme
# files in each server's local file system, we use the direct file apprach to
# avoid unnecessary http request and traffic between client (user) and server!
# Additionally all modules are installed into one webapp context, so the
# webapp tag is redundant, but sort of required by some part of the code.
# Theme with single entry point (e.g Mandalay) managed by themedirector
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/start.xsl
http://::host::/::webapp::/themes/::themedir::/::theme::/start.xsl
# Theme with single entry point (e.g Mandalay) unmanaged default
#http://::host::/resource/::webapp::/themes/mandalay/start.xsl
#http://::host::/::webapp::/themes/mandalay/start.xsl
# Theme with single entry point (e.g Mandalay) unmanaged default
#http://::host::/resource/::webapp::/themes/mandalay/start.xsl
http://::host::/::webapp::/themes/libreccm-default/start.xsl
# ==============================================================================
# The following is for multi-entry themes, not used in ScientificCMS
# ==============================================================================
# Output type is for things such as text/javascript
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::outputtype::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::outputtype::.xsl
# Grabs custom item xsl for CMS
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/themes/servlet/content-item/index.xsl?oid=::item_template_oid::&delegated=::item_delegated_url::
# Theme, with optional locale & prefix
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::.xsl
# Theme, with optional locale
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::.xsl
# APLAWS generic default, with locale and prefix
# XXX change ROOT -> ccm-ldn-aplaws
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::-::locale::.xsl
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::.xsl
# APLAWS generic default, with locale
# XXX change ROOT -> ccm-ldn-aplaws
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::locale::.xsl
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::.xsl
# Global default, from application's own web app
# NOT used by ScientificCMS
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::.xsl

View File

@ -1,3 +0,0 @@
version = 7.0.0-SNAPSHOT
appname = LibreCCM
apphomepage = http://www.libreccm.org

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="all">
</beans>

View File

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
author: Jens Pelzetter
-->
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="LibreCCM" transaction-type="JTA">
<!--
Enforce JPA provider
Not really necessary here because we don't use any Hibernate
specific features, but makes it easier to manage to database
creation scripts.
-->
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:jboss/datasources/LibreCCM</jta-data-source>
<!--<jta-data-source>java:/comp/env/jdbc/libreccm/db</jta-data-source>-->
<jar-file>lib/ccm-core-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-cms-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-shortcuts-7.0.0-SNAPSHOT.jar</jar-file>
<properties>
<!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="validate" />
<property name="hibernate.connection.autocommit" value="false" />
<property name="hibernate.id.new_generator_mappings" value="true" />
<property name="wildfly.jpa.hibernate.search.module"
value="org.hibernate.search.orm:main" />
<!--<property name="hibernate.show_sql" value="true" />
<property name="format_sql" value="true" />
<property name="use_sql_comments" value="true" />-->
<!--
Properties for Hibernate Envers
We are using the ValidityAuditStrategy here because it is faster
when querying data than the DefaultStrategy
-->
<property name="org.hibernate.envers.audit_strategy"
value="org.hibernate.envers.strategy.ValidityAuditStrategy"/>
</properties>
</persistence-unit>
</persistence>

View File

@ -1 +0,0 @@
waf.config.packages=ccm-core

View File

@ -1,83 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>LibreCCM Devel Bundle for Wildfly</display-name>
<context-param>
<param-name>ccm.develmode</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>ccm.distribution</param-name>
<param-value>libreccm</param-value>
</context-param>
<!-- No JSESSIONID!!! -->
<session-config>
<tracking-mode>COOKIE</tracking-mode>
<!--<tracking-mode>URL</tracking-mode>-->
</session-config>
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>
<!-- JAX-RS -->
<!--<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/content-sections/*</url-pattern>
</servlet-mapping>-->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<servlet>
<servlet-name>vaadin-servlet</servlet-name>
<servlet-class>com.vaadin.cdi.server.VaadinCDIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/vaadin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>
</web-app>

View File

@ -1,72 +0,0 @@
requirejs(["./ccm-editor",
"./ccm-cms-editor",
"../webjars/requirejs-domready/2.0.1/domReady!"],
function(editor, cmseditor, doc) {
editor.addEditor(".editor-textarea", {
"commandGroups": [
{
"name": "blocks",
"title": "Format blocks",
"commands": [
editor.FormatBlockCommand
]
},
{
"name": "format-text",
"title": "Format text",
"commands": [
editor.MakeBoldCommand,
editor.MakeItalicCommand,
editor.MakeUnderlineCommand,
editor.StrikeThroughCommand,
editor.SubscriptCommand,
editor.SuperscriptCommand,
editor.RemoveFormatCommand,
editor.InsertExternalLinkCommand,
cmseditor.InsertInternalLinkCommand,
cmseditor.InsertMediaAssetCommand
]
},
{
"name": "insert-list",
"title": "Insert list",
"commands": [
editor.InsertUnorderedListCommand,
editor.InsertOrderedListCommand
]
},
{
"name": "html",
"title": "HTML",
"commands": [editor.ToggleHtmlCommand]
}
],
"settings": {
"ccm-editor-css.path": "/libreccm/ccm-editor/ccm-editor.css",
"font-awesome.path": "/libreccm/webjars/font-awesome/4.7.0/css/font-awesome.min.css",
"formatBlock.blocks": [
{
"element": "h3",
"title": "Heading 3"
},
{
"element": "h4",
"title": "Heading 4"
},
{
"element": "h5",
"title": "Heading 5"
},
{
"element": "h6",
"title": "Heading 6"
},
{
"element": "p",
"title": "Paragraph"
}
]
}
});
});

View File

@ -1,2 +1,3 @@
datasource.properties datasource.properties
runtime.properties
wildfly.properties wildfly.properties

View File

@ -0,0 +1,3 @@
libreccm.datasource.connectionUrl=jdbc:postgresql://localhost:5432/ccm-devel
libreccm.datasource.username=ccm
libreccm.datasource.password=ccm47web

File diff suppressed because it is too large Load Diff

View File

@ -5,11 +5,8 @@
"build": "webpack" "build": "webpack"
}, },
"dependencies": { "dependencies": {
"@librecms/ccm-cms-pagemodelseditor": "7.0.0",
"tinymce": "^4.8.2"
}, },
"devDependencies": { "devDependencies": {
"@types/tinymce": "^4.5.16",
"@types/webpack-env": "^1.13.6", "@types/webpack-env": "^1.13.6",
"file-loader": "^1.1.11", "file-loader": "^1.1.11",
"ts-loader": "^4.4.2", "ts-loader": "^4.4.2",

View File

@ -55,7 +55,7 @@
<artifactId>ccm-cms-js</artifactId> <artifactId>ccm-cms-js</artifactId>
<version>7.0.0-SNAPSHOT</version> <version>7.0.0-SNAPSHOT</version>
</dependency> --> </dependency> -->
<dependency> <!-- <dependency>
<groupId>org.librecms</groupId> <groupId>org.librecms</groupId>
<artifactId>ccm-cms-pagemodelseditor</artifactId> <artifactId>ccm-cms-pagemodelseditor</artifactId>
<version>${project.parent.version}</version> <version>${project.parent.version}</version>
@ -64,7 +64,7 @@
<groupId>org.librecms</groupId> <groupId>org.librecms</groupId>
<artifactId>ccm-cms-tinymce</artifactId> <artifactId>ccm-cms-tinymce</artifactId>
<version>${project.parent.version}</version> <version>${project.parent.version}</version>
</dependency> </dependency>-->
<!-- <dependency> <!-- <dependency>
<groupId>org.postgresql</groupId> <groupId>org.postgresql</groupId>
@ -80,9 +80,9 @@
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
</resource> </resource>
<resource> <!--<resource>
<directory>${project.build.directory}/generated-resources</directory> <directory>${project.build.directory}/generated-resources</directory>
</resource> </resource>-->
</resources> </resources>
<plugins> <plugins>
@ -90,15 +90,15 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
<optimize>true</optimize> <optimize>true</optimize>
<debug>true</debug> <debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding> <encoding>${project.build.sourceEncoding}</encoding>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <!-- <plugin>
<groupId>com.github.eirslett</groupId> <groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId> <artifactId>frontend-maven-plugin</artifactId>
@ -113,10 +113,10 @@
<goal>install-node-and-npm</goal> <goal>install-node-and-npm</goal>
</goals> </goals>
<configuration> <configuration>
<nodeVersion>v8.11.4</nodeVersion> <nodeVersion>v16.14.2</nodeVersion>
</configuration> </configuration>
</execution> </execution>
<!-- <execution> <execution>
<id>npm link @libreccm/ccm-pagemodelseditor</id> <id>npm link @libreccm/ccm-pagemodelseditor</id>
<goals> <goals>
<goal>npm</goal> <goal>npm</goal>
@ -124,7 +124,7 @@
<configuration> <configuration>
<arguments>link @libreccm/ccm-pagemodelseditor</arguments> <arguments>link @libreccm/ccm-pagemodelseditor</arguments>
</configuration> </configuration>
</execution> --> </execution>
<execution> <execution>
<id>npm link @librecms/ccm-cms-pagemodelseditor</id> <id>npm link @librecms/ccm-cms-pagemodelseditor</id>
<goals> <goals>
@ -134,7 +134,7 @@
<arguments>link @librecms/ccm-cms-pagemodelseditor</arguments> <arguments>link @librecms/ccm-cms-pagemodelseditor</arguments>
</configuration> </configuration>
</execution> </execution>
<!-- <execution> <execution>
<id>npm link @librecms/ccm-cms-tinymce</id> <id>npm link @librecms/ccm-cms-tinymce</id>
<goals> <goals>
<goal>npm</goal> <goal>npm</goal>
@ -142,8 +142,8 @@
<configuration> <configuration>
<arguments>link @librecms/ccm-cms-tinymce</arguments> <arguments>link @librecms/ccm-cms-tinymce</arguments>
</configuration> </configuration>
</execution>--> </execution>
<!--<execution> <execution>
<id>npm link @librecms/ccm-cms-js</id> <id>npm link @librecms/ccm-cms-js</id>
<goals> <goals>
<goal>npm</goal> <goal>npm</goal>
@ -151,7 +151,7 @@
<configuration> <configuration>
<arguments>link @librecms/ccm-cms-js</arguments> <arguments>link @librecms/ccm-cms-js</arguments>
</configuration> </configuration>
</execution>--> </execution>
<execution> <execution>
<id>npm install</id> <id>npm install</id>
<goals> <goals>
@ -168,7 +168,7 @@
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>-->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -179,9 +179,9 @@
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
</resource> </resource>
<resource> <!--<resource>
<directory>${project.build.directory}/generated-resources</directory> <directory>${project.build.directory}/generated-resources</directory>
</resource> </resource>-->
</webResources> </webResources>
<overlays> <overlays>
@ -190,11 +190,11 @@
<artifactId>ccm-editor</artifactId> <artifactId>ccm-editor</artifactId>
<type>jar</type> <type>jar</type>
</overlay> </overlay>
<overlay> <!-- <overlay>
<groupId>org.libreccm</groupId> <groupId>org.libreccm</groupId>
<artifactId>ccm-pagemodelseditor</artifactId> <artifactId>ccm-pagemodelseditor</artifactId>
<type>jar</type> <type>jar</type>
</overlay> </overlay>-->
<overlay> <overlay>
<groupId>org.libreccm</groupId> <groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId> <artifactId>ccm-theme-foundry</artifactId>
@ -213,17 +213,25 @@
<artifactId>ccm-core</artifactId> <artifactId>ccm-core</artifactId>
<type>jar</type> <type>jar</type>
<includes> <includes>
<include>WEB-INF/</include> <include>themes/</include>
</includes> </includes>
</overlay> </overlay>
<overlay> <overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>WEB-INF/</include>
</includes>
</overlay>
<!-- <overlay>
<groupId>org.libreccm</groupId> <groupId>org.libreccm</groupId>
<artifactId>ccm-shortcuts</artifactId> <artifactId>ccm-shortcuts</artifactId>
<type>jar</type> <type>jar</type>
<includes> <includes>
<include>WEB-INF/</include> <include>WEB-INF/</include>
</includes> </includes>
</overlay> </overlay>-->
<overlay> <overlay>
<groupId>org.libreccm</groupId> <groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId> <artifactId>ccm-core</artifactId>
@ -245,17 +253,41 @@
<artifactId>ccm-cms</artifactId> <artifactId>ccm-cms</artifactId>
<type>jar</type> <type>jar</type>
<includes> <includes>
<include>templates/</include> <include>assets/</include>
</includes> </includes>
</overlay> </overlay>
<overlay> <overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>icons/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
<!-- <overlay>
<groupId>org.librecms</groupId> <groupId>org.librecms</groupId>
<artifactId>ccm-cms-tinymce</artifactId> <artifactId>ccm-cms-tinymce</artifactId>
<type>jar</type> <type>jar</type>
<includes> <includes>
<include>scripts/</include> <include>scripts/</include>
</includes> </includes>
</overlay> </overlay>-->
<!-- <overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-default-theme</artifactId>
<type>jar</type>
<includes>
<include>themes/librecms/scripts/</include>
</includes>
</overlay> -->
</overlays> </overlays>
</configuration> </configuration>
</plugin> </plugin>
@ -276,6 +308,27 @@
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<execution>
<id>read-runtime-properties</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${project.basedir}/runtime.example.properties</file>
<file>${project.basedir}/runtime.properties</file>
</files>
<quiet>true</quiet>
</configuration>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.wildfly.plugins</groupId> <groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId> <artifactId>wildfly-maven-plugin</artifactId>
@ -287,6 +340,58 @@
</java-opts> </java-opts>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-jar-maven-plugin</artifactId>
<configuration>
<jvmArguments>
<arg>-agentlib:jdwp=transport=dt_socket,server=y,suspend=${libreccm.debug.suspend},address=${libreccm.debug.port}</arg>
</jvmArguments>
<arguments>
-Dorg.wildfly.datasources.postgresql.database=${libreccm.database.name}
-Dorg.wildfly.datasources.postgresql.host=${libreccm.database.host}
-Dorg.wildfly.datasources.postgresql.jndi-name=java:/comp/env/jdbc/libreccm/db
-Dorg.wildfly.datasources.postgresql.password=${libreccm.database.password}
-Dorg.wildfly.datasources.postgresql.port=${libreccm.database.port}
-Dorg.wildfly.datasources.postgresql.user-name=${libreccm.database.user}
</arguments>
<feature-packs>
<feature-pack>
<location>wildfly@maven(org.jboss.universe:community-universe)#24.0.1.Final</location>
</feature-pack>
<feature-pack>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-datasources-galleon-pack</artifactId>
<version>2.0.2.Final</version>
</feature-pack>
</feature-packs>
<layers>
<layer>cdi</layer>
<layer>datasources</layer>
<layer>ejb</layer>
<layer>jaxrs</layer>
<layer>jpa</layer>
<layer>jsf</layer>
<layer>jsonp</layer>
<layer>logging</layer>
<layer>mail</layer>
<layer>management</layer>
<layer>postgresql-datasource</layer>
</layers>
<!-- <excluded-layers>
<layer>deployment-scanner</layer>
</excluded-layers>-->
<skip>false</skip>
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View File

@ -0,0 +1,7 @@
libreccm.debug.suspend=n
libreccm.database.host=localhost
libreccm.database.port=5432
libreccm.database.name=ccm-devel
libreccm.database.user=ccm
libreccm.database.password=ccm47web

View File

@ -0,0 +1,10 @@
libreccm.http.port=8080
libreccm.https.port=8180
libreccm.debug.port=8787
libreccm.debug.suspend=n
libreccm.database.host=localhost
libreccm.database.port=5432
libreccm.database.name=libreccm-devel
libreccm.database.user=libreccm
libreccm.database.password=libreccm

View File

@ -80,10 +80,7 @@
<Logger name="org.libreccm.security.Shiro" <Logger name="org.libreccm.security.Shiro"
level="debug"> level="debug">
</Logger> </Logger>
<Logger name="org.libreccm.theming.xslt.CcmUriResolver" <Logger name="org.libreccm.ui.admin.usersgroupsroles.RolesController"
level="debug">
</Logger>
<Logger name="org.libreccm.ui.admin.usersgroupsroles.RolesController"
level="debug"> level="debug">
</Logger> </Logger>
<Logger name="org.librecms.contentsection.AssetRepository" <Logger name="org.librecms.contentsection.AssetRepository"
@ -107,5 +104,11 @@
<Logger name="org.libreccm.ui.admin.applications.ApplicationsPage" <Logger name="org.libreccm.ui.admin.applications.ApplicationsPage"
level="debug"> level="debug">
</Logger> </Logger>
<Logger name="org.librecms.ui.ContentSectionController"
level="debug">
</Logger>
<Logger name="org.libreccm.categorization.CategoryManager"
level="debug">
</Logger>
</Loggers> </Loggers>
</Configuration> </Configuration>

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -0,0 +1,2 @@
example.setting=Properties from the Freemarker theme.

View File

@ -0,0 +1,73 @@
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
header {
padding: 1em 2em;
}
header img {
display: block;
margin-left: auto;
margin-right: auto;
width: 20vw;
max-width: 1020px;
max-height: 566px;
}
main {
max-width: 55em;
margin-left: auto;
margin-right: auto;
padding: 2em 1em;
}
main h1 {
text-align: center;
}
main form.login {
display: flex;
align-items: center;
flex-direction: column;
margin-top: 1em;
}
main form.login .form-row {
display: flex;
align-items: flex-start;
flex-direction: column;
margin-bottom: 0.5em;
}
main form.login button[type=submit] {
display: block;
margin-top: 0.75em;
margin-left: auto;
margin-right: auto;
padding: 0.25em;
}
footer {
background-color: #71ac52;
color: #fff;
padding: 3em 1em;
width: 100vw;
}
footer p {
text-align: center;
}

View File

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<head>
<title>LibreCCM Devel Theme</title>
</head>
<body>
<h1>LibreCCM Devel</h1>
<h2>Site Info</h2>
<dl>
<dt>host</dt>
<dd>${CmsPagesSiteInfoModel.host}</dd>
<dt>domain</dt>
<dd>${CmsPagesSiteInfoModel.domain}</dd>
<dt>name</dt>
<dd>${CmsPagesSiteInfoModel.name}</dd>
<dt>Current category</dt>
<dd>${CmsPagesCategoryModel.category.name}</dd>
</dl>
<h2>Category Tree</h2>
<ul>
<!--<#list CmsPagesCategoryModel.categoryTree.subCategories as category>
<@categoryTreeNode category />
</#list>-->
<@categoryTreeNode CmsPagesCategoryModel.categoryTree />
</ul>
<h2>(Index) Item</h2>
<#if (CmsPagesCategoryModel.category.hasIndexItem)>
<dl>
<dt>Name</dt>
<dd>${CmsPagesCategorizedItemModel.name}</dd>
<dt>Title</dt>
<dd>${CmsPagesCategorizedItemModel.title}</dd>
<dt>Description</dt>
<dd>${CmsPagesCategorizedItemModel.description}</dd>
</dl>
<#else>
<p>No (Index) Item</p>
</#if>
<h2>Item List</h2>
<ul>
<#list CmsPagesItemListModel.items as item>
<li>
<b>${item.title} (${item.name})</b>
${item.description}
</li>
</#list>
</ul>
</body>
</html>
<#macro categoryTreeNode category>
<li>
${category.name}
<#if (category.subCategories?size > 0)>
<ul>
<#list category.subCategories as subCategory>
<@categoryTreeNode subCategory />
</#list>
</ul>
</#if>
</li>
</#macro>

View File

@ -0,0 +1,19 @@
<footer>
<ul>
<li>
<a href="/impressum">
<!--Impressum-->
${localize("footer.impressum")}
</a>
</li>
<li>
<a href="/privacy">
<!--Privacy-->
${localize("footer.privacy")}
</a>
</li>
<li>
<code>imported</code>
</li>
</ul>
</footer>

View File

@ -0,0 +1,35 @@
<#import "../main.html.ftl" as main>
<@main.ccm_main>
<h1>${LoginMessages['login.title']}</h1>
<#if (loginFailed)>
<div class="alert-error">
${LoginMessages['login.errors.failed']}
</div>
</#if>
<form action="${mvc.uri('LoginController#processLogin')}"
class="login"
method="post">
<div class="form-row">
<label for="login">${LoginMessages['login.screenname.label']}</label>
<input id="login" name="login" required="true" type="text" />
</div>
<div class="form-row">
<label for="password">
${LoginMessages['login.password.label']}
</label>
<input id="password"
name="password"
required="true"
type="password" />
</div>
<input type="hidden"
name="returnUrl"
value="${returnUrl}" />
<button type="submit">
${LoginMessages['login.submit']}
</button>
</form>
</@main.ccm_main>

View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
</head>
<body>
<main>
<h1>${LoginMessages['login.password_recovered.title']}</h1>
<p>${LoginMessages['login.password_recovered.message']}</p>
</main>
<#include "footer.html.ftl">
</body>
</html>

View File

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
</head>
<body>
<main>
<h1>${LoginMessages['login.recover_password.title']}</h1>
<# if (failedToSendRecoverMessage)>
<div class="alert-error">
${LoginMessages['login.errors.failedToSendRecoverMessage']}
</div>
</#if>
<form action="${mvc.url('LoginController#recoverPassword')}"
method="post">
<label for="email">${LoginMessages['login.email.label']}</label>
<input id="email" name="email" required="true" type="text" />
<button type="submit">
${LoginMessages['login.recover_password.submit']}
</button>
</form>
</main>
<#include "footer.html.ftl">
</body>
</html>

View File

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${themeUrl}/style.css" />
</head>
<body>
<main>
<h1>Logout successful</h1>
<p>Logout successful</p>
</main>
</body>
</html>

View File

@ -0,0 +1,25 @@
<#macro ccm_main scripts=[]>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${themeUrl}/styles/style.css" />
<#list scripts as script>
<script src="${themeUrl}/${script}" />
</#list>
</head>
<body>
<header>
<a href="https://www.libreccm.org">
<img alt="LibreCCM Logo"
src="${themeUrl}/images/libreccm.png" />
</a>
</header>
<main>
<#nested>
</main>
<footer>
<p>LibreCCM basic theme. The customize create your own theme.</p>
</footer>
</body>
</html>
</#macro>

View File

@ -0,0 +1,5 @@
label.critical=Critical
label.error=Error
label.ok=OK
label.warning=Warning

View File

@ -0,0 +1,3 @@
footer.impressum=Impressum
footer.privacy=Privacy

View File

@ -0,0 +1,95 @@
{
"files": [
{
"name": "images",
"isDirectory": true,
"files": [
{
"name": "libreccm.png",
"isDirectory": false,
"mimeType": "image/png"
}
]
},
{
"name": "settings.properties",
"isDirectory": false,
"mimeType": "text/plain"
},
{
"name": "styles",
"isDirectory": true,
"files": [
{
"name": "style.css",
"isDirectory": false,
"mimeType": "text/css"
}
]
},
{
"name": "templates",
"isDirectory": true,
"files": [
{
"name": "login",
"isDirectory": true,
"files": [
{
"name": "login-form.html.ftl",
"isDirectory": false,
"mimeType": "text/plain"
},
{
"name": "login-password-recovered.html.ftl",
"isDirectory": false,
"mimeType": "text/plain"
}, {
"name": "login-recover-password.html.ftl",
"isDirectory": false,
"mimeType": "text/plain"
}
]
},
{
"name": "logout",
"isDirectory": true,
"files": [
{
"name": "loggedout.html.ftl",
"isDirectory": false,
"mimeText": "text/plain"
}
]
}
]
},
{
"name": "texts",
"isDirectory": true,
"files": [
{
"name": "labels.properties",
"isDirectory": false,
"mimeType": "text/plain"
}
]
},
{
"name": "theme-bundle.properties",
"isDirectory": false,
"mimeType": "text/plain"
},
{
"name": "theme-index.json",
"isDirectory": false,
"mimeType": "application/json"
},
{
"name": "theme.json",
"isDirectory": false,
"mimeType": "application/json"
}
]
}

View File

@ -0,0 +1,144 @@
{
"name": "librecms-devel",
"type": "freemarker",
"default-template": "templates/default.html.ftl",
"mvc-templates": {
"default": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Default Template"
}
]
}
},
"name": "Default Template",
"path": "templates/default.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Default Template"
}
]
}
}
},
"login-form": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Login Form"
}
]
}
},
"name": "Login Form",
"path": "templates/login/login-form.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Login Form"
}
]
}
}
},
"login-recover-password": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Recover lost passwords"
}
]
}
},
"name": "login-recover-password",
"path": "templates/login/login-recover-password.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Recover password"
}
]
}
}
},
"login-password-recovered": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Password recovered"
}
]
}
},
"name": "login-password-recovered",
"path": "templates/login/login-password-recovered.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Password recovered"
}
]
}
}
},
"loggedout": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Logout successful"
}
]
}
},
"name": "loggedout",
"path": "templates/logout/loggedout.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Logout succesful"
}
]
}
}
}
},
"views": {
"default": {
"default": "default",
"@default": "default"
},
"login": {
"loginForm": "login-form",
"passwordRecovered": "login-password-recovered",
"recoverPassword": "login-recover-password"
},
"logout": {
"loggedout": "loggedout"
}
}
}

View File

@ -25,7 +25,6 @@
<jar-file>lib/ccm-cms-7.0.0-SNAPSHOT.jar</jar-file> <jar-file>lib/ccm-cms-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-shortcuts-7.0.0-SNAPSHOT.jar</jar-file> <jar-file>lib/ccm-shortcuts-7.0.0-SNAPSHOT.jar</jar-file>
<properties> <properties>
<!-- Properties for Hibernate --> <!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.hbm2ddl.auto" value="validate" />
@ -34,7 +33,7 @@
<property name="wildfly.jpa.hibernate.search.module" <property name="wildfly.jpa.hibernate.search.module"
value="org.hibernate.search.orm:main" /> value="org.hibernate.search.orm:main" />
<!--<property name="hibernate.show_sql" value="true" /> <!-- <property name="hibernate.show_sql" value="true" />
<property name="format_sql" value="true" /> <property name="format_sql" value="true" />
<property name="use_sql_comments" value="true" />--> <property name="use_sql_comments" value="true" />-->

View File

@ -5,7 +5,7 @@ module.exports = {
devtool: "source-map", devtool: "source-map",
entry: { entry: {
"ccm-cms-pagemodelseditor": "./src/main/typescript/ccm-cms-pagemodelseditor.ts", // "ccm-cms-pagemodelseditor": "./src/main/typescript/ccm-cms-pagemodelseditor.ts",
// "ccm-cms-tinymce-loader": "./src/main/typescript/tinymce/ccm-cms-tinymce-loader.ts", // "ccm-cms-tinymce-loader": "./src/main/typescript/tinymce/ccm-cms-tinymce-loader.ts",
}, },

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -12,7 +13,7 @@
<groupId>org.libreccm</groupId> <groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId> <artifactId>ccm-bundle-devel</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>LibreCCM Devel Bundle</name> <name>LibreCCM Devel Bundle</name>
<url>http://www.libreccm.org/bundles/devel</url> <url>http://www.libreccm.org/bundles/devel</url>
@ -22,7 +23,7 @@
<artifactId>ccm-core</artifactId> <artifactId>ccm-core</artifactId>
<version>${project.parent.version}</version> <version>${project.parent.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.libreccm</groupId> <groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId> <artifactId>ccm-editor</artifactId>
@ -38,40 +39,37 @@
<artifactId>ccm-theme-foundry</artifactId> <artifactId>ccm-theme-foundry</artifactId>
<version>${project.parent.version}</version> <version>${project.parent.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.librecms</groupId> <groupId>org.librecms</groupId>
<artifactId>ccm-theme-ftllibs-devel</artifactId> <artifactId>ccm-theme-ftllibs-devel</artifactId>
<version>${project.parent.version}</version> <version>${project.parent.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sf.saxon</groupId> <groupId>org.librecms</groupId>
<artifactId>Saxon-HE</artifactId> <artifactId>ccm-cms-default-theme</artifactId>
<version>${project.parent.version}</version>
</dependency> </dependency>
<!-- CCM modules --> <!-- CCM modules -->
<dependency> <!-- <dependency>
<groupId>org.libreccm</groupId> <groupId>org.libreccm</groupId>
<artifactId>ccm-shortcuts</artifactId> <artifactId>ccm-shortcuts</artifactId>
<version>${project.parent.version}</version> <version>${project.parent.version}</version>
</dependency> </dependency>-->
<dependency> <dependency>
<groupId>org.librecms</groupId> <groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId> <artifactId>ccm-cms</artifactId>
<version>${project.parent.version}</version> <version>${project.parent.version}</version>
</dependency> </dependency>
<!-- CCM Modules end --> <!-- CCM Modules end -->
<!-- Dependencies for log4j 2 including adapter for the log4j 1.2 API --> <!-- Dependencies for log4j 2 including adapter for the log4j 1.2 API -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.apache.logging.log4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId> <artifactId>log4j-api</artifactId>
<scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<reporting> <reporting>

View File

@ -113,8 +113,8 @@
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version> <version>3.3</version>
<configuration> <configuration>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
<optimize>true</optimize> <optimize>true</optimize>
<debug>true</debug> <debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding> <encoding>${project.build.sourceEncoding}</encoding>
@ -229,7 +229,7 @@
<configuration> <configuration>
<linkXref>true</linkXref> <linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding> <sourceEncoding>utf-8</sourceEncoding>
<targetJdk>1.8</targetJdk> <targetJdk>11</targetJdk>
<rulesets> <rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset> <ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset> <ruleset>/rulesets/java/braces.xml</ruleset>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
{
"name": "@librecms/default-theme",
"version": "7.0.0",
"scripts": {
"build": "npm-run-all build:*",
"build:mkdir": "shx mkdir -p target/generated-resources/themes/librecms",
"build:theme": "shx cp -r src/main/resources/themes/librecms/* target/generated-resources/themes/librecms",
"build:icons": "shx cp node_modules/bootstrap-icons/bootstrap-icons.svg target/generated-resources/themes/librecms/images/",
"build:js": "webpack",
"build:css": "npm-run-all build:css:*",
"build:css:librecms": "sass src/main/scss/librecms.scss target/generated-resources/themes/librecms/styles/librecms.css",
"build:index": "theme-index-builder target/generated-resources/themes/librecms"
},
"author": "Jens Pelzetter",
"license": "LGPL-3.0-or-later",
"devDependencies": {
"@types/bootstrap": "^5.1.8",
"npm-run-all": "^4.1.5",
"sass": "^1.48.0",
"shx": "^0.3.4",
"ts-loader": "^9.2.6",
"typescript": "^4.5.4",
"webpack": "^5.66.0",
"webpack-cli": "^4.9.1"
},
"dependencies": {
"bootstrap": "^5.1.3",
"bootstrap-icons": "^1.7.2"
}
}

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'Z</maven.build.timestamp.format>
</properties>
<parent>
<groupId>org.libreccm</groupId>
<artifactId>libreccm-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-default-theme</artifactId>
<version>7.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>LibreCMS Default Theme</name>
<licenses>
<license>
<name>Lesser GPL 2.1</name>
<url>http://www.gnu.org/licenses/old-licenses/lgpl-2.1</url>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>org.libreccm</groupId>
<artifactId>ccm-static-theme-index-builder</artifactId>
<version>7.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>ccm-cms-default-theme</finalName>
<resources>
<!-- <resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/typescript</directory>
</resource> -->
<resource>
<directory>${project.build.directory}/generated-resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<installDirectory>../node</installDirectory>
</configuration>
<executions>
<execution>
<id>Install node.js and NPM</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v16.14.2</nodeVersion>
</configuration>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
</execution>
<execution>
<id>npm link @libreccm/ccm-static-theme-index-builder</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @libreccm/ccm-static-theme-index-builder</arguments>
</configuration>
</execution>
<execution>
<id>build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run build</arguments>
</configuration>
</execution>
<execution>
<id>npm link</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1 @@
import "bootstrap";

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 175 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 180 KiB

View File

@ -0,0 +1,63 @@
<#macro "org.librecms.assets.AudioAsset" asset>
<figure>
<audio controls
src="/content-sections/${asset.contentSection}/audiomedia${asset.assetPath}"
width="240"></audio>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.ExternalAudioAsset" asset>
<figure>
<audio controls src="${asset.url}" width="240"></audio>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.ExternalVideoAsset" asset>
<figure>
<video controls src="${asset.url}" width="240"></video>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.FileAsset" asset>
<h3><a href="/content-sections/${asset.contentSection}/files${asset.assetPath}">${asset.title}</a></h3>
<p>${asset.description}</p>
<small>${asset.mimeType} ${asset.size} Bytes</small>
</#macro>
<#macro "org.librecms.assets.Image" asset>
<figure>
<img src="/content-sections/${asset.contentSection}/images${asset.assetPath}"
width="240" />
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.RelatedLink" asset>
<#if asset.externalLink>
<div>
<a href="${asset.targetUrl}">${asset.title}</a>
<svg class="bi"
fill="current-color"
height="1em"
width="1em">
<use xlink:href="${themeUrl}/images/bootstrap-icons.svg#globe" />
</svg>
<span class="visually-hidden">External link</span>
</div>
<#else>
<a href="${asset.targetItemPath}">${asset.title}</a>
</#if>
</#macro>
<#macro "org.librecms.assets.VideoAsset" asset>
<figure>
<video controls
src="/content-sections/${asset.contentSection}/videos${asset.assetPath}"
width="240"></video>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>

View File

@ -0,0 +1,51 @@
<#import "./main.html.ftl" as main>
<#import "./assets.html.ftl" as assets>
<@main.librecms>
<div class="container">
<div class="row align-items-start justify-content-center">
<div class="col-lg-8">
<#if CmsPagesContentItemTypeModel.itemClass != "">
<#assign itemTemplate = .getOptionalTemplate("./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl")>
<#if itemTemplate.exists>
<#import "./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl" as contentitem>
<#else>
<#import "./contentitems/default.html.ftl" as contentitem>
</#if>
<@contentitem.details />
</#if>
</div>
<div class="col-lg-4">
<#list CmsPagesCategorizedItemModel.attachmentLists as attachmentList>
<h2>${attachmentList.title}</h2>
<p class="item-description">${attachmentList.description}</p>
<#list attachmentList.attachments>
<ul class="list-group">
<#items as attachment>
<li class="list-group-item">
<@.vars["assets"][attachment.asset.type] attachment.asset />
</li>
</#items>
</ul>
</#list>
</#list>
</div>
</div>
<#list CmsPagesItemListModel.getItems()>
<div class="row align-items-start">
<div class="col-12">
<ul class="list-group">
<#items as item>
<li class="list-group-item">
<h2>
<a href="/pages/${CmsPagesCategoryModel.category.path}${item.name}.${negotiatedLocale}.html${CmsPagesPageUrlModel.queryString}">${item.title}</a>
</h2>
<p class="item-description">${item.description}</p>
</li>
</#items>
</ul>
</div>
</div>
</div>
</#list>
</@main.librecms>

View File

@ -0,0 +1,7 @@
<#macro details>
<h1>${CmsPagesCategorizedItemModel.title}</h1>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<div class="alert alert-warning">
No template for ${CmsPagesContentItemTypeModel.itemClass} available
</div>
</#macro>

View File

@ -0,0 +1,17 @@
<#import "../assets.html.ftl" as assets>
<#macro details>
<h1>${CmsPagesCategorizedItemModel.title}</h1>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<div class="float-end">
<#list CmsPagesCategorizedItemModel.mediaLists as mediaList>
<#list mediaList.attachments as media>
<@.vars["assets"][media.asset.type] media.asset />
</#list>
</#list>
</div>
<div>
${CmsPagesArticleModel.text}
</div>
</#macro>

View File

@ -0,0 +1,25 @@
<#macro details>
<div class="d-flex">
<h1>
${CmsPagesCategorizedItemModel.title}
<span class="badge bg-secondary rounded-pill">
${CmsPagesEventModel.getStartDateTime('yyyy-MM-dd')}
<#if CmsPagesEventModel.getEndDateTime()??>
- ${CmsPagesEventModel.getEndDateTime('yyyy-MM-dd')}
</#if>
</span>
</h1>
</div>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<div>
${CmsPagesEventModel.text}
</div>
<#if CmsPagesEventModel.location??>
<h2>Location</h2>
<div>
${CmsPagesEventModel.location}
</div>
</#if>
</#macro>

View File

@ -0,0 +1,61 @@
<#macro details>
<h1>${CmsPagesCategorizedItemModel.title}</h1>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<h2>${CmsPagesMultiPartArticleModel.currentSectionTitle}</h2>
<div>
<nav>
<ul class="flex-column float-end nav">
<#list CmsPagesMultiPartArticleModel.sectionTitles as section>
<li class="nav-item">
<#if section?index == CmsPagesMultiPartArticleModel.currentSection>
<a aria-current="page"
class="active nav-link"
href="${CmsPagesMultiPartArticleModel.sectionLinks[section?index]}">
${section}
</a>
<#else>
<a class="nav-link"
href="${CmsPagesMultiPartArticleModel.sectionLinks[section?index]}">
${section}
</a>
</#if>
</li>
</#list>
</ul>
</nav>
${CmsPagesMultiPartArticleModel.currentSectionText}
<nav>
<ul class="pagination">
<#if CmsPagesMultiPartArticleModel.prevSectionLink != "">
<li class="list-item">
<a class="page-link"
href="${CmsPagesMultiPartArticleModel.prevSectionLink}">
<svg class="bi"
fill="current-color"
height="1em"
width="1em">
<use xlink:href="${themeUrl}/images/bootstrap-icons.svg#caret-left-fill" />
</svg>
<span class="visually-hidden">Previous</span>
</a>
</li>
</#if>
<#if CmsPagesMultiPartArticleModel.nextSectionLink != "">
<li class="list-item">
<a class="page-link"
href="${CmsPagesMultiPartArticleModel.nextSectionLink}">
<svg class="bi"
fill="current-color"
height="1em"
width="1em">
<use xlink:href="${themeUrl}/images/bootstrap-icons.svg#caret-right-fill" />
</svg>
<span class="visually-hidden">Next</span>
</a>
</li>
</#if>
</ul>
</nav>
</div>
</#macro>

View File

@ -0,0 +1,15 @@
<#macro details>
<div class="d-flex">
<h1>
${CmsPagesCategorizedItemModel.title}
<span class="badge bg-secondary rounded-pill">
${CmsPagesNewsModel.getReleaseDate('yyyy-MM-dd')}
</span>
</h1>
</div>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<div>
${CmsPagesNewsModel.text}
</div>
</#macro>

View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<link href="${themeUrl}/styles/librecms.css" rel="stylesheet" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Default Template</title>
</head>
<body>
<div class="container">
<p>This theme works.</p>
<dl>
<dt>application</dt>
<dd>${application}</dd>
<dt>themeUrl</dt>
<dd>${themeUrl}</dd>
<dt>view</dt>
<dd>${view!""}</dd>
</dl>
</div>
</body>
</html>

View File

@ -0,0 +1,48 @@
<#import "./main.html.ftl" as main>
<#-- <#import "./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl" as contentitem> -->
<@main.librecms>
<div class="container">
<div class="row align-items-start justify-content-center">
<div class="col-lg-8">
<#if CmsPagesContentItemTypeModel.itemClass != "">
<#assign itemTemplate = .getOptionalTemplate("./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl")>
<#if itemTemplate.exists>
<#import "./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl" as contentitem>
<#else>
<#import "./contentitems/default.html.ftl" as contentitem>
</#if>
<@contentitem.details />
</#if>
</div>
<div class="col-lg-4">
<!-- Attachments -->
<h2>Notes</h2>
<ul class="list-group mb-4">
<li class="list-group-item">
<p>
A side note with some text
</p>
<p>
Occaecat sit eu ipsum irure. Enim consectetur aute anim proident sint dolor sint ea ex eu adipisicing et. Veniam laborum mollit velit incididunt aliquip do esse officia eu ea nostrud nulla.
</p>
</li>
</ul>
<h2>More information</h2>
<p>
Consequat occaecat eu ullamco amet id tempor.
</p>
<ul class="list-group mb-4">
<li class="list-group-item">
<p>Anim ex ut reprehenderit in enim id proident duis pariatur est anim do.</p>
<a href="https://example.com">A related link</a>
</li>
<li class="list-group-item">
<p>Quis minim deserunt incididunt ea voluptate laboris fugiat elit nulla.</p>
<a href="https://example.com">Some download link</a>
</li>
</ul>
</div>
</div>
</div>
</@main.librecms>

View File

@ -0,0 +1,173 @@
<#import "./main.html.ftl" as main>
<@main.librecms>
<div class="container">
<div class="row align-items-center">
<div class="col">
<div class="bg-light mb-4 rounded-3">
<div class="container-fluid py-5">
<#if CmsPagesCategorizedItemModel.itemAvailable>
<h1 class="display-5 fw-bold">
${CmsPagesCategorizedItemModel.title}
</h1>
<p>
${CmsPagesCategorizedItemModel.description}
</p>
<a class="btn btn-primary btn-lg"
href="#">
Find out more
</a>
<#else>
<h1 class="display-5 fw-bold">
LibreCMS
</h1>
<p>
No index item has been defined.
</p>
<a class="btn btn-primary btn-lg"
href="https://www.libreccm.org">
Find out more
</a>
</#if>
</div>
</div>
<#-- <#if CmsPagesCategorizedItemModel.itemAvailable>
Category has an index item
<#else>
Category has no index item
</#if>
<h2>Index page</h2>
<p>This theme works.</p>
<dl>
<dt>application</dt>
<dd>${application}</dd>
<dt>themeUrl</dt>
<dd>${themeUrl}</dd>
<dt>view</dt>
<dd>${view!""}</dd>
</dl>
<h2>From <code>ArticleModel</code></h2>
<dl>
<dt>Title</dt>
<dd>${CmsPagesArticleModel.title}</dd>
<dt>Description</dt>
<dd>${CmsPagesArticleModel.description}</dd>
<dt>Text</dt>
<dd>${CmsPagesArticleModel.text}</dd>
</dl>
</div> -->
</div>
<div class="row align-items-start justify-content-center">
<#list CmsPagesItemListModel.getItems("newslist")>
<div class="col">
<h2>News</h2>
<ul class="list-group">
<#items as news>
<li class="list-group-item">
<h3 class="d-flex w-100 justify-content-between">
<div>
<a href="/pages${CmsPagesCategoryModel.category.path}${news.name}.${negotiatedLocale}.html${CmsPagesPageUrlModel.queryString}">${news.title}</a>
</div>
<#-- <div>${news.getReleaseDate('yyyy-MM-dd')}</div> -->
<div>${news.getReleaseDate('dd. MMM yyyy')}</div>
</h3>
<p class="item-description">${news.description}</p>
</li>
</#items>
</ul>
</div>
</#list>
<#list CmsPagesItemListModel.getItems("eventlist")>
<div class="col">
<h2>Upcoming events</h2>
<ul class="list-group">
<#items as event>
<li class="list-group-item">
<h3 class="d-flex w-100 justify-content-between">
<div>
<a href="/pages${CmsPagesCategoryModel.category.path}${event.name}.${negotiatedLocale}.html${CmsPagesPageUrlModel.queryString}">${event.title}</a>
</div>
<div>${event.getStartDate('dd. MMM yyyy HH:mm')}</div>
</h3>
<p class="item-description">${event.description}</p>
</li>
</#items>
</ul>
</div>
</#list>
</div>
<#-- <h2>Item List</h2>
<p>Item List size: ${CmsPagesItemListModel.listSize}</p>
<dl>
<dt>Item List size:</dt>
<dd>${CmsPagesItemListModel.listSize}</dd>
<dt>Page size</dt>
<dd>${CmsPagesItemListModel.pageSize}</dd>
<dt>Page</dt>
<dd>${CmsPagesItemListModel.page}</dd>
<dt>Offset</dt>
<dd>${CmsPagesItemListModel.offset}</dd>
</dl>
<ul>
<#list CmsPagesItemListModel.items as item>
<li>
<dl>
<dt>UUID</dt>
<dd>${item.uuid}</dd>
<dt>displayName</dt>
<dd>${item.displayName}</dd>
<dt>Name</dt>
<dd>${item.name}</dd>
<dt>Title</dt>
<dd>${item.title}</dd>
<dt>description</dt>
<dd>${item.description}</dd>
<dt>Type</dt>
<dd>${item.type}</dd>
</dl>
</li>
</#list>
</ul>
</div>
<h2>News List</h2>
<p>News List size: ${CmsPagesItemListModel.getListSize("newslist")}</p>
<dl>
<dt>Item List size:</dt>
<dd>${CmsPagesItemListModel.getListSize("newslist")}</dd>
<dt>Page size</dt>
<dd>${CmsPagesItemListModel.getPageSize("newslist")}</dd>
<dt>Page</dt>
<dd>${CmsPagesItemListModel.getPage("newslist")}</dd>
<dt>Offset</dt>
<dd>${CmsPagesItemListModel.getOffset("newslist")}</dd>
</dl>
<ul>
<#list CmsPagesItemListModel.getItems("newslist") as item>
<li>
<dl>
<dt>UUID</dt>
<dd>${item.uuid}</dd>
<dt>displayName</dt>
<dd>${item.displayName}</dd>
<dt>Name</dt>
<dd>${item.name}</dd>
<dt>Title</dt>
<dd>${item.title}</dd>
<dt>description</dt>
<dd>${item.description}</dd>
<dt>Type</dt>
<dd>${item.type}</dd>
</dl>
</li>
</#list>
</ul>
</div> -->
</@main.librecms>

View File

@ -0,0 +1,50 @@
<#macro librecms scripts=[]>
<!DOCTYPE html>
<html>
<head>
<link href="${themeUrl}/styles/librecms.css" rel="stylesheet" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Default Template</title>
</head>
<body>
<header>
<nav class="navbar navbar-expand-lg navbar-expand navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand"
href="/pages">
<img class="theme-logo img-fluid"
src="${themeUrl}/images/librecms.svg" />
</a>
<button aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation"
class="navbar-toggler"
data-bs-toggle="collapse"
data-bs-target="#navbar-items"
type="button">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse"
id="navbar-items">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<#list CmsPagesCategoryModel.categoryTree.subCategories as category>
<li ${category.selected?then("aria-selected=\"page\"","")}
class="nav-item ${category.selected?then( "active","")}">
<a class="nav-link"
href="/pages${category.categoryPath}/index.${negotiatedLocale}.html${CmsPagesPageUrlModel.queryString}">
${category.title}
</a>
</li>
</#list>
</ul>
</div>
</div>
</nav>
</header>
<main>
<#nested>
</main>
<script src="${themeUrl}/scripts/librecms.js"></script>
</body>
</html>
</#macro>

View File

@ -0,0 +1,121 @@
{
"name": "librecms",
"type": "freemarker",
"master-theme": null,
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "LibreCMS Default Theme"
},
{
"lang": "de",
"value": "LibreCMS Standard Theme"
}
]
}
},
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "The LibreCMS default theme"
},
{
"lang": "de",
"value": "Das LibreCMS Standard Theme"
}
]
}
},
"mvc-templates": {
"category-page": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Template for category pages."
}
]
}
},
"name": "Category Page Template",
"path": "templates/category-page.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Category Page Template"
}
]
}
}
},
"default": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Default Template used if no other template fits."
}
]
}
},
"name": "Default Template",
"path": "templates/default.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Default Template"
}
]
}
}
},
"index-page": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Template for the index page of a site."
}
]
}
},
"name": "index-page",
"path": "templates/index-page.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Index Page"
}
]
}
}
}
},
"views": {
"default": {
"default": "default",
"@default": "default"
},
"pages": {
"category-page": "category-page",
"index": "index-page",
"default": "default",
"@default": "default"
}
}
}

View File

@ -0,0 +1,15 @@
$primary: #0A9793;
a.navbar-brand {
max-width: 15%;
}
.imgbox-button {
background-color: transparent;
border: none;
padding: 0;
}
.item-description {
white-space: pre-wrap;
}

View File

@ -0,0 +1,2 @@
@import "custom";
@import "../../../node_modules/bootstrap/scss/bootstrap"

View File

@ -0,0 +1 @@
import "bootstrap";

View File

@ -0,0 +1,14 @@
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": true,
"lib": ["DOM", "ES2016"],
"module": "commonjs",
"moduleResolution": "node",
"outDir": "scripts",
"sourceMap": true,
"strict": true,
"target": "ES6"
},
"include": ["src/main/typescript/**/*"]
}

View File

@ -0,0 +1,25 @@
module.exports = {
mode: "development",
devtool: "source-map",
optimization: {
chunkIds: false
},
entry: {
librecms: "./src/main/typescript/librecms.ts"
},
output: {
filename: "[name].js",
path: __dirname + "/target/generated-resources/themes/librecms/scripts"
},
resolve: {
extensions: [".tsx", ".ts", ".js", ".jsx"],
},
module: {
rules: [
// all files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'
{ test: /\.tsx?$/, use: ["ts-loader"], exclude: /node_modules/ },
],
}
}

View File

@ -75,7 +75,7 @@
<goal>install-node-and-npm</goal> <goal>install-node-and-npm</goal>
</goals> </goals>
<configuration> <configuration>
<nodeVersion>v8.11.4</nodeVersion> <nodeVersion>v16.14.2</nodeVersion>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
@ -93,6 +93,16 @@
<goal>npm</goal> <goal>npm</goal>
</goals> </goals>
</execution> </execution>
<!-- Sync Maven module version and NPM module version -->
<execution>
<id>npm version</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>version --allow-same-version=true ${project.version}</arguments>
</configuration>
</execution>
<execution> <execution>
<id>build</id> <id>build</id>
<goals> <goals>

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -7,6 +8,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<timestamp>${maven.build.timestamp}</timestamp> <timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'Z</maven.build.timestamp.format> <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'Z</maven.build.timestamp.format>
<buildNumber></buildNumber>
</properties> </properties>
<parent> <parent>
@ -137,7 +139,7 @@
<goal>install-node-and-npm</goal> <goal>install-node-and-npm</goal>
</goals> </goals>
<configuration> <configuration>
<nodeVersion>v8.11.4</nodeVersion> <nodeVersion>v16.14.2</nodeVersion>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
@ -155,6 +157,16 @@
<goal>npm</goal> <goal>npm</goal>
</goals> </goals>
</execution> </execution>
<!-- Sync Maven module version and NPM module version -->
<execution>
<id>npm version</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>version --allow-same-version=true ${project.version}${buildNumber}</arguments>
</configuration>
</execution>
<execution> <execution>
<id>build</id> <id>build</id>
<goals> <goals>
@ -173,17 +185,17 @@
<arguments>link</arguments> <arguments>link</arguments>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
<id>npm publish</id> <id>npm publish</id>
<goals> <goals>
<goal>npm</goal> <goal>npm</goal>
</goals> </goals>
<phase>deploy</phase> <phase>deploy</phase>
<configuration> <configuration>
<arguments>publish --userconfig ../libreccm.npmrc</arguments> <arguments>publish -userconfig ../libreccm.npmrc</arguments>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
@ -191,4 +203,18 @@
</plugins> </plugins>
</build> </build>
<profiles>
<profile>
<id>with-buildnumber</id>
<activation>
<property>
<name>env.BUILD_NUMBER</name>
</property>
</activation>
<properties>
<buildNumber>.${env.BUILD_NUMBER}</buildNumber>
</properties>
</profile>
</profiles>
</project> </project>

View File

@ -74,6 +74,12 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- Dependencies for log4j 2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
@ -138,8 +144,8 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
<optimize>true</optimize> <optimize>true</optimize>
<debug>true</debug> <debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding> <encoding>${project.build.sourceEncoding}</encoding>
@ -249,7 +255,7 @@
<configuration> <configuration>
<linkXref>true</linkXref> <linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding> <sourceEncoding>utf-8</sourceEncoding>
<targetJdk>1.8</targetJdk> <targetJdk>11</targetJdk>
<!-- <rulesets> <!-- <rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset> <ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset> <ruleset>/rulesets/java/braces.xml</ruleset>

View File

@ -1,117 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import org.librecms.assets.Person;
import org.librecms.contentsection.AssetRepository;
import org.librecms.contentsection.ContentItemRepository;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Locale;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.transaction.Transactional;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
class ProfileSiteItemController {
public static final String OWNER = "owner";
public static final String POSITION = "position";
public static final String INTERSETS = "interests";
public static final String MISC = "misc";
@Inject
private AssetRepository assetRepository;
@Inject
private ContentItemRepository itemRepository;
@Transactional(Transactional.TxType.REQUIRED)
public void setOwner(final long profileSiteItemId, final long ownerId) {
final ProfileSiteItem profileSiteItem = itemRepository
.findById(profileSiteItemId, ProfileSiteItem.class)
.orElseThrow(
() -> new IllegalArgumentException(
String.format(
"No ProfileSiteItem with ID %d found.",
profileSiteItemId
)
)
);
final Person owner = assetRepository
.findById(ownerId, Person.class)
.orElseThrow(
() -> new IllegalArgumentException(
String.format(
"No Person with ID %d found.", ownerId
)
)
);
profileSiteItem.setOwner(owner);
itemRepository.save(profileSiteItem);
}
public void setPosition(
final long profileSiteItemId, final String position, final Locale locale
) {
final ProfileSiteItem profileSiteItem = itemRepository
.findById(profileSiteItemId, ProfileSiteItem.class)
.orElseThrow(
() -> new IllegalArgumentException(
String.format(
"No ProfileSiteItem with ID %d found.",
profileSiteItemId
)
)
);
profileSiteItem.getPosition().addValue(locale, position);
}
public void setInterests(
final long profileSiteItemId,
final String interests,
final Locale locale
) {
final ProfileSiteItem profileSiteItem = itemRepository
.findById(profileSiteItemId, ProfileSiteItem.class)
.orElseThrow(
() -> new IllegalArgumentException(
String.format(
"No ProfileSiteItem with ID %d found.",
profileSiteItemId
)
)
);
profileSiteItem.getInterests().addValue(locale, interests);
}
public void setMisc(
final long profileSiteItemId, final String misc, final Locale locale
) {
final ProfileSiteItem profileSiteItem = itemRepository
.findById(profileSiteItemId, ProfileSiteItem.class)
.orElseThrow(
() -> new IllegalArgumentException(
String.format(
"No ProfileSiteItem with ID %d found.",
profileSiteItemId
)
)
);
profileSiteItem.getMisc().addValue(locale, misc);
}
}

View File

@ -1,80 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.assets.AssetSearchWidget;
import com.arsdigita.cms.ui.authoring.CreationSelector;
import com.arsdigita.cms.ui.authoring.PageCreateForm;
import com.arsdigita.globalization.GlobalizedMessage;
import org.librecms.assets.Person;
import org.librecms.contentsection.ContentItemInitializer;
import org.librecms.profilesite.ProfileSiteConstants;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Locale;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemCreate extends PageCreateForm {
private final static String OWNER_SEARCH = "owner";
private AssetSearchWidget ownerSearch;
public ProfileSiteItemCreate(
final ItemSelectionModel itemModel,
final CreationSelector creationSelector,
final StringParameter selectedLanguageParam
) {
super(itemModel, creationSelector, selectedLanguageParam);
}
@Override
public void addWidgets() {
ownerSearch = new AssetSearchWidget(OWNER_SEARCH, Person.class);
ownerSearch.setLabel(
new GlobalizedMessage(
"profile_site.owner.label", ProfileSiteConstants.BUNDLE
)
);
add(ownerSearch);
}
@Override
public void validate(final FormSectionEvent event)
throws FormProcessException {
super.validate(event);
final FormData formData = event.getFormData();
if (!formData.containsKey(OWNER_SEARCH)
|| formData.get(OWNER_SEARCH) == null) {
formData.addError(
new GlobalizedMessage(
"profile_site.owner.not_selected",
ProfileSiteConstants.BUNDLE
)
);
}
}
@Override
protected ContentItemInitializer<ProfileSiteItem> getItemInitializer(
final FormData formData, final PageState state
) {
return (item) -> item.setOwner((Person) formData.get(OWNER_SEARCH));
}
}

View File

@ -1,108 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
import com.arsdigita.globalization.GlobalizedMessage;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.profilesite.ProfileSiteConstants;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Locale;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemInterestsForm
extends BasicItemForm
implements FormProcessListener, FormInitListener {
private final StringParameter selectedLangParam;
public ProfileSiteItemInterestsForm(
final ItemSelectionModel itemModel,
final StringParameter selectedLangParam
) {
super("ProfileSiteItemEditInterests", itemModel, selectedLangParam);
this.selectedLangParam = selectedLangParam;
}
@Override
public void addWidgets() {
add(
new Label(
new GlobalizedMessage(
"profile_site_item.ui.interests",
ProfileSiteConstants.BUNDLE
)
)
);
final ParameterModel interestsParam = new StringParameter(
ProfileSiteItemController.POSITION);
final TextArea interests = new TextArea(interestsParam);
interests.setCols(80);
interests.setRows(8);
add(interests);
}
@Override
public void init(final FormSectionEvent event) throws FormProcessException {
final PageState state = event.getPageState();
final FormData data = event.getFormData();
final ProfileSiteItem profile
= (ProfileSiteItem) getItemSelectionModel()
.getSelectedItem(state);
data.put(ProfileSiteItemController.POSITION, profile.getInterests());
setVisible(state, true);
}
@Override
public void process(final FormSectionEvent event)
throws FormProcessException {
final PageState state = event.getPageState();
final FormData data = event.getFormData();
final ProfileSiteItem profile
= (ProfileSiteItem) getItemSelectionModel()
.getSelectedItem(state);
if ((profile != null)
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
final ProfileSiteItemController controller = CdiUtil
.createCdiUtil()
.findBean(ProfileSiteItemController.class);
final Locale selectedLocale = SelectedLanguageUtil.selectedLocale(
state, selectedLangParam
);
controller.setInterests(
profile.getObjectId(),
(String) data.get(ProfileSiteItemController.POSITION),
selectedLocale
);
}
init(event);
}
}

View File

@ -1,81 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import org.librecms.profilesite.ProfileSiteConstants;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemInterestsStep extends SimpleEditStep {
private String EDIT_POSITION_SHEET_NAME = "editInterests";
public ProfileSiteItemInterestsStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final StringParameter selectedLangParam
) {
this(itemModel, parent, selectedLangParam, null);
}
public ProfileSiteItemInterestsStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final StringParameter selectedLangParam,
final String prefix
) {
super(itemModel, parent, selectedLangParam, prefix);
final BasicItemForm editInterestsForm = new ProfileSiteItemInterestsForm(
itemModel, selectedLangParam
);
add(
EDIT_POSITION_SHEET_NAME,
new GlobalizedMessage(
"profile_site_site.ui.interests.edit",
ProfileSiteConstants.BUNDLE
),
new WorkflowLockedComponentAccess(parent, itemModel),
editInterestsForm.getSaveCancelSection().getCancelButton()
);
setDisplayComponent(getProfileSiteItemInterestsSheet(
itemModel, selectedLangParam)
);
}
public static final Component getProfileSiteItemInterestsSheet(
final ItemSelectionModel itemModel,
final StringParameter selectedLangParam
) {
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
itemModel, false, selectedLangParam
);
sheet.add(
new GlobalizedMessage(
"profile_site_item.ui.interests",
ProfileSiteConstants.BUNDLE
),
ProfileSiteItemController.POSITION
);
return sheet;
}
}

View File

@ -1,108 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
import com.arsdigita.globalization.GlobalizedMessage;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.profilesite.ProfileSiteConstants;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Locale;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemMiscForm
extends BasicItemForm
implements FormProcessListener, FormInitListener {
private final StringParameter selectedLangParam;
public ProfileSiteItemMiscForm(
final ItemSelectionModel itemModel,
final StringParameter selectedLangParam
) {
super("ProfileSiteItemEditMisc", itemModel, selectedLangParam);
this.selectedLangParam = selectedLangParam;
}
@Override
public void addWidgets() {
add(
new Label(
new GlobalizedMessage(
"profile_site_item.ui.misc",
ProfileSiteConstants.BUNDLE
)
)
);
final ParameterModel miscParam = new StringParameter(
ProfileSiteItemController.POSITION);
final TextArea misc = new TextArea(miscParam);
misc.setCols(80);
misc.setRows(8);
add(misc);
}
@Override
public void init(final FormSectionEvent event) throws FormProcessException {
final PageState state = event.getPageState();
final FormData data = event.getFormData();
final ProfileSiteItem profile
= (ProfileSiteItem) getItemSelectionModel()
.getSelectedItem(state);
data.put(ProfileSiteItemController.POSITION, profile.getMisc());
setVisible(state, true);
}
@Override
public void process(final FormSectionEvent event)
throws FormProcessException {
final PageState state = event.getPageState();
final FormData data = event.getFormData();
final ProfileSiteItem profile
= (ProfileSiteItem) getItemSelectionModel()
.getSelectedItem(state);
if ((profile != null)
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
final ProfileSiteItemController controller = CdiUtil
.createCdiUtil()
.findBean(ProfileSiteItemController.class);
final Locale selectedLocale = SelectedLanguageUtil.selectedLocale(
state, selectedLangParam
);
controller.setMisc(
profile.getObjectId(),
(String) data.get(ProfileSiteItemController.POSITION),
selectedLocale
);
}
init(event);
}
}

View File

@ -1,81 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import org.librecms.profilesite.ProfileSiteConstants;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemMiscStep extends SimpleEditStep {
private String EDIT_POSITION_SHEET_NAME = "editMisc";
public ProfileSiteItemMiscStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final StringParameter selectedLangParam
) {
this(itemModel, parent, selectedLangParam, null);
}
public ProfileSiteItemMiscStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final StringParameter selectedLangParam,
final String prefix
) {
super(itemModel, parent, selectedLangParam, prefix);
final BasicItemForm editMiscForm = new ProfileSiteItemMiscForm(
itemModel, selectedLangParam
);
add(
EDIT_POSITION_SHEET_NAME,
new GlobalizedMessage(
"profile_site_site.ui.misc.edit",
ProfileSiteConstants.BUNDLE
),
new WorkflowLockedComponentAccess(parent, itemModel),
editMiscForm.getSaveCancelSection().getCancelButton()
);
setDisplayComponent(getProfileSiteItemMiscSheet(
itemModel, selectedLangParam)
);
}
public static final Component getProfileSiteItemMiscSheet(
final ItemSelectionModel itemModel,
final StringParameter selectedLangParam
) {
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
itemModel, false, selectedLangParam
);
sheet.add(
new GlobalizedMessage(
"profile_site_item.ui.misc",
ProfileSiteConstants.BUNDLE
),
ProfileSiteItemController.POSITION
);
return sheet;
}
}

View File

@ -1,108 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
import com.arsdigita.globalization.GlobalizedMessage;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.profilesite.ProfileSiteConstants;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Locale;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemPositionForm
extends BasicItemForm
implements FormProcessListener, FormInitListener {
private final StringParameter selectedLangParam;
public ProfileSiteItemPositionForm(
final ItemSelectionModel itemModel,
final StringParameter selectedLangParam
) {
super("ProfileSiteItemEditPosition", itemModel, selectedLangParam);
this.selectedLangParam = selectedLangParam;
}
@Override
public void addWidgets() {
add(
new Label(
new GlobalizedMessage(
"profile_site_item.ui.position",
ProfileSiteConstants.BUNDLE
)
)
);
final ParameterModel positionParam = new StringParameter(
ProfileSiteItemController.POSITION);
final TextArea position = new TextArea(positionParam);
position.setCols(80);
position.setRows(8);
add(position);
}
@Override
public void init(final FormSectionEvent event) throws FormProcessException {
final PageState state = event.getPageState();
final FormData data = event.getFormData();
final ProfileSiteItem profile
= (ProfileSiteItem) getItemSelectionModel()
.getSelectedItem(state);
data.put(ProfileSiteItemController.POSITION, profile.getPosition());
setVisible(state, true);
}
@Override
public void process(final FormSectionEvent event)
throws FormProcessException {
final PageState state = event.getPageState();
final FormData data = event.getFormData();
final ProfileSiteItem profile
= (ProfileSiteItem) getItemSelectionModel()
.getSelectedItem(state);
if ((profile != null)
&& getSaveCancelSection().getSaveButton().isSelected(state)) {
final ProfileSiteItemController controller = CdiUtil
.createCdiUtil()
.findBean(ProfileSiteItemController.class);
final Locale selectedLocale = SelectedLanguageUtil.selectedLocale(
state, selectedLangParam
);
controller.setPosition(
profile.getObjectId(),
(String) data.get(ProfileSiteItemController.POSITION),
selectedLocale
);
}
init(event);
}
}

View File

@ -1,81 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import org.librecms.profilesite.ProfileSiteConstants;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemPositionStep extends SimpleEditStep {
private String EDIT_POSITION_SHEET_NAME = "editPosition";
public ProfileSiteItemPositionStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final StringParameter selectedLangParam
) {
this(itemModel, parent, selectedLangParam, null);
}
public ProfileSiteItemPositionStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final StringParameter selectedLangParam,
final String prefix
) {
super(itemModel, parent, selectedLangParam, prefix);
final BasicItemForm editPositionForm = new ProfileSiteItemPositionForm(
itemModel, selectedLangParam
);
add(
EDIT_POSITION_SHEET_NAME,
new GlobalizedMessage(
"profile_site_site.ui.position.edit",
ProfileSiteConstants.BUNDLE
),
new WorkflowLockedComponentAccess(parent, itemModel),
editPositionForm.getSaveCancelSection().getCancelButton()
);
setDisplayComponent(getProfileSiteItemPositionSheet(
itemModel, selectedLangParam)
);
}
public static final Component getProfileSiteItemPositionSheet(
final ItemSelectionModel itemModel,
final StringParameter selectedLangParam
) {
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
itemModel, false, selectedLangParam
);
sheet.add(
new GlobalizedMessage(
"profile_site_item.ui.position",
ProfileSiteConstants.BUNDLE
),
ProfileSiteItemController.POSITION
);
return sheet;
}
}

View File

@ -1,116 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.SegmentedPanel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import org.librecms.assets.Person;
import org.librecms.profilesite.ProfileSiteConstants;
import org.librecms.profilesite.ProfileSiteItem;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemPropertiesStep extends SimpleEditStep {
public static final String EDIT_SHEET_NAME = "editProfileSiteItem";
public ProfileSiteItemPropertiesStep(
final ItemSelectionModel itemModel,
final AuthoringKitWizard parent,
final StringParameter selectedLangParam
) {
super(itemModel, parent, selectedLangParam);
setDefaultEditKey(EDIT_SHEET_NAME);
final SimpleEditStep basicProperties = new SimpleEditStep(
itemModel, parent, selectedLangParam, EDIT_SHEET_NAME
);
final BasicPageForm editBasicSheet = new ProfileSiteItemPropertyForm(
itemModel, this, selectedLangParam
);
basicProperties.add(
EDIT_SHEET_NAME,
new GlobalizedMessage(
ProfileSiteConstants.BUNDLE,
"profile_site.ui.edit_basic_properties"
),
new WorkflowLockedComponentAccess(editBasicSheet, itemModel),
editBasicSheet.getSaveCancelSection().getCancelButton()
);
basicProperties.setDisplayComponent(
getProfileSiteItemPropertiesSheet(itemModel, selectedLangParam)
);
final SegmentedPanel segmentedPanel = new SegmentedPanel();
segmentedPanel.addSegment(
new Label(
new GlobalizedMessage(
ProfileSiteConstants.BUNDLE,
"profile_site.ui.basic_properties"
)
),
basicProperties
);
setDisplayComponent(segmentedPanel);
}
public static Component getProfileSiteItemPropertiesSheet(
final ItemSelectionModel itemModel,
final StringParameter selectedLangParam
) {
final DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(
itemModel, false, selectedLangParam
);
sheet.add(
new GlobalizedMessage(
ProfileSiteConstants.BUNDLE, "profile_site.ui.OWNER"
),
ProfileSiteItemController.OWNER,
new OwnerFormatter()
);
return sheet;
}
private static class OwnerFormatter
implements DomainObjectPropertySheet.AttributeFormatter {
@Override
public String format(
final Object obj, final String attribute, final PageState state
) {
final ProfileSiteItem profileSiteItem = (ProfileSiteItem) obj;
final Person owner = profileSiteItem.getOwner();
if (owner == null) {
return "";
} else {
return owner.getDisplayName();
}
}
}
}

View File

@ -1,104 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.event.FormValidationListener;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.assets.AssetSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.globalization.GlobalizedMessage;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.assets.Person;
import org.librecms.profilesite.ProfileSiteConstants;
import org.librecms.profilesite.ProfileSiteItem;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ProfileSiteItemPropertyForm
extends BasicPageForm
implements FormInitListener, FormProcessListener, FormValidationListener {
public static final String ID = "PublicPersonalProfile_edit";
private static final String OWNER_SEARCH = "ownerSearch";
private final ItemSelectionModel itemModel;
public ProfileSiteItemPropertyForm(
final ItemSelectionModel itemModel,
final ProfileSiteItemPropertiesStep step,
final StringParameter selectedLangParam
) {
super(ID, itemModel, selectedLangParam);
this.itemModel = itemModel;
addValidationListener(this);
}
@Override
public void addWidgets() {
super.addWidgets();
final AssetSearchWidget ownerSearch = new AssetSearchWidget(
OWNER_SEARCH, Person.class
);
add(ownerSearch);
}
@Override
public void init(final FormSectionEvent event) throws FormProcessException {
final FormData formData = event.getFormData();
final ProfileSiteItem profileSiteItem = (ProfileSiteItem) super
.initBasicWidgets(event);
formData.put(OWNER_SEARCH, profileSiteItem.getOwner());
}
@Override
public void validate(final FormSectionEvent event)
throws FormProcessException {
super.validate(event);
final FormData formData = event.getFormData();
if (!formData.containsKey(OWNER_SEARCH)
|| formData.get(OWNER_SEARCH) == null) {
formData.addError(
new GlobalizedMessage(
"profile_site.owner.not_selected",
ProfileSiteConstants.BUNDLE
)
);
}
}
@Override
public void process(final FormSectionEvent event)
throws FormProcessException {
final ProfileSiteItem profileSiteItem = (ProfileSiteItem) super
.processBasicWidgets(event);
final FormData formData = event.getFormData();
final Person owner = (Person) formData.get(OWNER_SEARCH);
final ProfileSiteItemController controller = CdiUtil
.createCdiUtil()
.findBean(ProfileSiteItemController.class);
controller.setOwner(profileSiteItem.getObjectId(), owner.getObjectId());
init(event);
}
}

View File

@ -1,7 +1,20 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * Copyright (C) 2021 LibreCCM Foundation.
* To change this template file, choose Tools | Templates *
* and open the template in the editor. * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/ */
package org.librecms.profilesite; package org.librecms.profilesite;

View File

@ -1,7 +1,20 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * Copyright (C) 2021 LibreCCM Foundation.
* To change this template file, choose Tools | Templates *
* and open the template in the editor. * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/ */
package org.librecms.profilesite; package org.librecms.profilesite;

View File

@ -1,21 +1,27 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * Copyright (C) 2021 LibreCCM Foundation.
* To change this template file, choose Tools | Templates *
* and open the template in the editor. * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/ */
package org.librecms.profilesite; package org.librecms.profilesite;
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemCreate;
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemInterestsStep;
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemMiscStep;
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPositionStep;
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPropertiesStep;
import org.libreccm.l10n.LocalizedString; import org.libreccm.l10n.LocalizedString;
import org.librecms.assets.Person; import org.librecms.assets.Person;
import org.librecms.contentsection.ContentItem; import org.librecms.contentsection.ContentItem;
import org.librecms.contenttypes.AuthoringKit;
import org.librecms.contenttypes.AuthoringStep;
import org.librecms.contenttypes.ContentTypeDescription; import org.librecms.contenttypes.ContentTypeDescription;
import java.util.Objects; import java.util.Objects;
@ -40,43 +46,6 @@ import static org.librecms.profilesite.ProfileSiteConstants.*;
labelBundle = "org.librecms.profilesite.ProfileSiteItem", labelBundle = "org.librecms.profilesite.ProfileSiteItem",
descriptionBundle = "org.librecms.profilesite.ProfileSiteItem" descriptionBundle = "org.librecms.profilesite.ProfileSiteItem"
) )
@AuthoringKit(
createComponent = ProfileSiteItemCreate.class,
steps = {
@AuthoringStep(
component = ProfileSiteItemPropertiesStep.class,
labelBundle = ProfileSiteConstants.BUNDLE,
labelKey = "profile_site_item.basic_properties.label",
descriptionBundle = ProfileSiteConstants.BUNDLE,
descriptionKey = "profile_site_item.basic_properties.description",
order = 1
),
@AuthoringStep(
component = ProfileSiteItemPositionStep.class,
labelBundle = ProfileSiteConstants.BUNDLE,
labelKey = "profile_site_item.position.label",
descriptionBundle = ProfileSiteConstants.BUNDLE,
descriptionKey = "profile_site_item.position.description",
order = 2
),
@AuthoringStep(
component = ProfileSiteItemInterestsStep.class,
labelBundle = ProfileSiteConstants.BUNDLE,
labelKey = "profile_site_item.interests.label",
descriptionBundle = ProfileSiteConstants.BUNDLE,
descriptionKey = "profile_site_item.interests.description",
order = 3
),
@AuthoringStep(
component = ProfileSiteItemMiscStep.class,
labelBundle = ProfileSiteConstants.BUNDLE,
labelKey = "profile_site_item.misc.label",
descriptionBundle = ProfileSiteConstants.BUNDLE,
descriptionKey = "profile_site_item.misc.description",
order = 4
)
}
)
public class ProfileSiteItem extends ContentItem { public class ProfileSiteItem extends ContentItem {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -1,26 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.librecms.profilesite.pagemodel;
import org.libreccm.pagemodel.ComponentModel;
import javax.persistence.Entity;
import javax.persistence.Table;
import static org.librecms.profilesite.ProfileSiteConstants.*;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = "PROFILE_SITE_COMPONENTS", schema = DB_SCHEMA)
public class ProfileSiteComponent extends ComponentModel {
private static final long serialVersionUID = 1L;
}

View File

@ -1,270 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.librecms.profilesite.pagemodel;
import com.arsdigita.kernel.KernelConfig;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.libreccm.categorization.Category;
import org.libreccm.categorization.CategoryManager;
import org.libreccm.categorization.CategoryRepository;
import org.libreccm.configuration.ConfigurationManager;
import org.libreccm.core.CcmObject;
import org.libreccm.pagemodel.ComponentRenderer;
import org.libreccm.pagemodel.RendersComponent;
import org.libreccm.security.PermissionChecker;
import org.librecms.assets.Person;
import org.librecms.contentsection.ContentItem;
import org.librecms.contentsection.ContentItemL10NManager;
import org.librecms.contentsection.ContentItemManager;
import org.librecms.contentsection.ContentItemVersion;
import org.librecms.contentsection.privileges.ItemPrivileges;
import org.librecms.pagemodel.assets.AbstractAssetRenderer;
import org.librecms.pagemodel.assets.AssetRenderers;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Collections;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import static org.librecms.pages.PagesConstants.*;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
@RendersComponent(componentModel = ProfileSiteComponent.class)
public class ProfileSiteComponentRenderer
implements ComponentRenderer<ProfileSiteComponent> {
private static final Logger LOGGER = LogManager.getLogger(
ProfileSiteComponentRenderer.class
);
@Inject
private AssetRenderers assetRenderers;
@Inject
private CategoryRepository categoryRepo;
@Inject
private CategoryManager categoryManager;
@Inject
private ConfigurationManager confManager;
@Inject
private ContentItemL10NManager iteml10nManager;
@Inject
private Instance<ProfileSiteContentRenderer> contentRenderers;
@Inject
private ContentItemManager itemManager;
@Inject
private PermissionChecker permissionChecker;
@Override
public Map<String, Object> renderComponent(
final ProfileSiteComponent componentModel,
final Map<String, Object> parameters
) {
Objects.requireNonNull(componentModel);
Objects.requireNonNull(parameters);
if (!parameters.containsKey(PARAMETER_CATEGORY)) {
throw new IllegalArgumentException(
String.format(
"The parameters map passed to this component does "
+ "not include the parameter \"%s\"",
PARAMETER_CATEGORY
)
);
}
if (!(parameters.get(PARAMETER_CATEGORY) instanceof Category)) {
throw new IllegalArgumentException(
String.format(
"The parameters map passed to this ProfileSiteComponent "
+ "component contains the parameter \"category\", but "
+ "parameter is not of type \"%s\" but of type \"%s\".",
Category.class.getName(),
parameters.get(PARAMETER_CATEGORY).getClass().getName()
)
);
}
final Category category = categoryRepo
.findById(
((CcmObject) parameters.get(PARAMETER_CATEGORY)).getObjectId()
)
.orElseThrow(
() -> new IllegalArgumentException(
String.format(
"No category with ID %d in the database.",
((CcmObject) parameters.get(PARAMETER_CATEGORY))
.getObjectId()
)
)
);
final Optional<CcmObject> indexObj = categoryManager
.getIndexObject(category)
.stream()
.filter(object -> object instanceof ContentItem)
.filter(item -> {
return ((ContentItem) item)
.getVersion() == ContentItemVersion.LIVE;
})
.findFirst();
if (indexObj.isPresent()) {
if (!(indexObj.get() instanceof ProfileSiteItem)) {
LOGGER.debug(
"The index item of the category {} is not an item of "
+ "the class",
ProfileSiteItem.class.getName()
);
return Collections.emptyMap();
}
final ProfileSiteItem profileSiteItem = (ProfileSiteItem) indexObj
.get();
if (Boolean.TRUE.equals(parameters.get("showDraft"))) {
final ProfileSiteItem draftItem = itemManager
.getDraftVersion(profileSiteItem, profileSiteItem.getClass());
if (permissionChecker.isPermitted(
ItemPrivileges.PREVIEW, draftItem
)) {
final Map<String, Object> result = generateItem(
componentModel, parameters, draftItem
);
result.put("showDraft", Boolean.TRUE);
return result;
} else {
throw new WebApplicationException(
"You are not permitted to view the draft version of "
+ "this profile site.",
Response.Status.UNAUTHORIZED
);
}
} else {
final ProfileSiteItem liveItem = itemManager
.getLiveVersion(profileSiteItem, profileSiteItem.getClass())
.orElseThrow(
() -> new NotFoundException(
"This content item does not have a live version."
)
);
if (permissionChecker.isPermitted(
ItemPrivileges.VIEW_PUBLISHED, liveItem
)) {
return generateItem(
componentModel, parameters, liveItem
);
} else {
throw new WebApplicationException(
"You are not permitted to view the live version of "
+ "this profile site.",
Response.Status.UNAUTHORIZED);
}
}
} else {
LOGGER.debug("The category {} does not have a index item.",
Objects.toString(category));
return Collections.emptyMap();
}
}
protected Map<String, Object> generateItem(
final ProfileSiteComponent componentModel,
final Map<String, Object> parameters,
final ProfileSiteItem profileSiteItem
) {
final Category category = (Category) parameters.get(PARAMETER_CATEGORY);
final String categoryName = category.getName();
final Optional<ProfileSiteContentRenderer> result = contentRenderers
.stream()
.filter(renderer -> categoryName.equals(renderer.getCategoryName()))
.findAny();
if (result.isPresent()) {
return result.get().renderContent(
componentModel, parameters, profileSiteItem
);
} else {
return renderProfileSiteIndexPage(parameters, profileSiteItem);
}
}
private Map<String, Object> renderProfileSiteIndexPage(
final Map<String, Object> parameters,
final ProfileSiteItem profileSiteItem
) {
final Locale language;
if (parameters.containsKey("language")) {
language = new Locale((String) parameters
.get(PARAMETER_LANGUAGE));
} else {
final KernelConfig kernelConfig = confManager
.findConfiguration(KernelConfig.class);
language = kernelConfig.getDefaultLocale();
}
if (iteml10nManager.hasLanguage(profileSiteItem, language)) {
final Map<String, Object> result = new HashMap<>();
result.put(
"owner", renderOwner(profileSiteItem.getOwner(), language)
);
result.put(
"position", profileSiteItem.getPosition().getValue(language)
);
result.put(
"interests", profileSiteItem.getInterests().getValue(language)
);
result.put(
"misc", profileSiteItem.getMisc().getValue(language)
);
return result;
} else {
throw new NotFoundException(
"Requested language is not available.");
}
}
private Map<String, Object> renderOwner(
final Person owner, final Locale language
) {
final AbstractAssetRenderer renderer = assetRenderers.findRenderer(
owner.getClass()
);
return renderer.render(owner, language);
}
}

View File

@ -1,41 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.librecms.profilesite.pagemodel;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Map;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public interface ProfileSiteContentRenderer {
/**
* Provides the category name for which this renderer is responsible.
*
* @return The category name for which this renderer is responsible.
*/
String getCategoryName();
/**
* Renders special content for a profile site depending on the current
* category.
*
* @param componentModel
* @param parameters
* @param profileSiteItem
*
* @return
*/
Map<String, Object> renderContent(
ProfileSiteComponent componentModel,
Map<String, Object> parameters,
ProfileSiteItem profileSiteItem
);
}

View File

@ -1,54 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.librecms.profilesite.pagemodel.contentitem;
import org.librecms.contentsection.ContentItem;
import org.librecms.pagemodel.assets.AssetRenderers;
import org.librecms.pagemodel.contentitems.AbstractContentItemRenderer;
import org.librecms.pagemodel.contentitems.ContentItemRenderer;
import org.librecms.profilesite.ProfileSiteItem;
import java.util.Locale;
import java.util.Map;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@ContentItemRenderer(renders = ProfileSiteItem.class)
@RequestScoped
public class ProfileSiteItemRenderer extends AbstractContentItemRenderer {
private static final long serialVersionUID = 1L;
@Inject
private AssetRenderers assetRenderers;
@Override
protected void renderItem(
final ContentItem item,
final Locale language,
final Map<String, Object> result
) {
// Nothing
// final ProfileSiteItem profileSiteItem;
// if (item instanceof ProfileSiteItem) {
// profileSiteItem = (ProfileSiteItem) item;
// } else {
// return;
// }
}
@Override
protected AssetRenderers getAssetRenderers() {
return assetRenderers;
}
}

View File

@ -65,7 +65,7 @@
<goal>install-node-and-npm</goal> <goal>install-node-and-npm</goal>
</goals> </goals>
<configuration> <configuration>
<nodeVersion>v8.11.4</nodeVersion> <nodeVersion>v16.14.2</nodeVersion>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>

View File

@ -73,7 +73,13 @@
<artifactId>hibernate-validator-cdi</artifactId> <artifactId>hibernate-validator-cdi</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- Dependencies for log4j 2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
@ -137,8 +143,8 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
<optimize>true</optimize> <optimize>true</optimize>
<debug>true</debug> <debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding> <encoding>${project.build.sourceEncoding}</encoding>
@ -246,7 +252,7 @@
<configuration> <configuration>
<linkXref>true</linkXref> <linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding> <sourceEncoding>utf-8</sourceEncoding>
<targetJdk>1.8</targetJdk> <targetJdk>11</targetJdk>
<!-- <rulesets> <!-- <rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset> <ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset> <ruleset>/rulesets/java/braces.xml</ruleset>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -73,6 +73,13 @@
<artifactId>hibernate-validator-cdi</artifactId> <artifactId>hibernate-validator-cdi</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- Dependencies for log4j 2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
@ -136,8 +143,8 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
<optimize>true</optimize> <optimize>true</optimize>
<debug>true</debug> <debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding> <encoding>${project.build.sourceEncoding}</encoding>
@ -245,7 +252,7 @@
<configuration> <configuration>
<linkXref>true</linkXref> <linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding> <sourceEncoding>utf-8</sourceEncoding>
<targetJdk>1.8</targetJdk> <targetJdk>11</targetJdk>
<!-- <rulesets> <!-- <rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset> <ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset> <ruleset>/rulesets/java/braces.xml</ruleset>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -74,6 +74,12 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- Dependencies for log4j 2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
@ -137,8 +143,8 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
<optimize>true</optimize> <optimize>true</optimize>
<debug>true</debug> <debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding> <encoding>${project.build.sourceEncoding}</encoding>
@ -246,7 +252,7 @@
<configuration> <configuration>
<linkXref>true</linkXref> <linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding> <sourceEncoding>utf-8</sourceEncoding>
<targetJdk>1.8</targetJdk> <targetJdk>11</targetJdk>
<!-- <rulesets> <!-- <rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset> <ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset> <ruleset>/rulesets/java/braces.xml</ruleset>

View File

@ -1,7 +1,20 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * Copyright (C) 2021 LibreCCM Foundation.
* To change this template file, choose Tools | Templates *
* and open the template in the editor. * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/ */
package org.librecms.contenttypes.decisiontree; package org.librecms.contenttypes.decisiontree;

View File

@ -1,7 +1,20 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * Copyright (C) 2021 LibreCCM Foundation.
* To change this template file, choose Tools | Templates *
* and open the template in the editor. * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/ */
package org.librecms.contenttypes.decisiontree; package org.librecms.contenttypes.decisiontree;

View File

@ -1,7 +1,20 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * Copyright (C) 2021 LibreCCM Foundation.
* To change this template file, choose Tools | Templates *
* and open the template in the editor. * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/ */
package org.librecms.contenttypes.decisiontree; package org.librecms.contenttypes.decisiontree;

Some files were not shown because too many files have changed in this diff Show More