Skip to content
Martin Goellnitz edited this page Mar 21, 2020 · 24 revisions

Tangram Issues

For tangram we right now have four areas of issues and ideas we collect: Version 1.2 currently under development, version 1.1 in maintenance, the idea collection backlog, and the heap of stuff we don't want to forget but don't actively work on.

Roadmap

618085 Remove runtime definition of copy-spec (in progress)

Backlog - Currently assigned to: Martin Göllnitz

Priority: High

Description

In webapp.gradle:50 gradle now complains about a runtime definition of a copy-spec instead of a static one.

617416 Add new Google App Engine support (resolved)

Backlog

Priority: Low

Description

When we now can move ahead to new interfaces for storage, we should again take a look at it with objectify.

Still we are missing the Java 8 support and the Objectify library is not meant for the flexible environment but for the "standard" environment with its obsolete API levels.

Martin Goellnitz / Wed, 1 Mar 2017 19:28:47 ce13f6f97f0b6a573babb63f502c5af8b74b474f

resolves #617416 objectify feels obsolete at the moment - tagged and removed

583410 Add CodeResource implementions to (read-only) Coma (in progress)

Heap - Currently assigned to: Martin Göllnitz

Priority: Low

Description

Implement CodeResource with Coma means. Discover CodeResource instances in CM repository. Make the mapping configurable/implementable. Add notifiers on changes.

Martin Goellnitz / Fri, 3 Mar 2017 11:51:21 6bae00b6f18a2433dd07254ef89d2ebd91bd823e

refs #583410 - coma bean factory missed to call listeners at least once

Martin Goellnitz / Fri, 3 Mar 2017 12:05:46 dc9ce5419f85a0bb818eede9e1820fa6e54fbdab

refs #583410 - also test listener registration

Martin Goellnitz / Fri, 3 Mar 2017 20:53:32 cccac94d590f9b435ee2c82139a730ba9acb0c74

refs #583410 - Since populators may not depend on the factory make them optionally bean factory aware

497447 Redirecting controller hooks result in a NullPointerException when redirecting (New)

Heap

Priority: Normal

Description

To indicate redirection a null model - not an empty mode - is used, while the AbstractTemplateResolver cannot handle such cases. One of the two needs to be changed.

Question: Is the null model an indicator for other parts of the code?

(This behaviour is currently not observed.)

485576 Tangram JPA Eclipselink, OpenJPA can delete objects which are still being referenced (New)

Backlog

Priority: Normal

Description

Author: Martin Göllnitz

It is unclear right now, why the underlying database layers support such deletions. We rely fully on the referential integrity checks of the storage layer.

433233 CDN Integration HTTP Headers for nearly everything (New)

Heap - Currently assigned to: Martin Göllnitz

Priority: Normal

Description

Right at the moment our tests with CloudFlare show, that there are too few requests which actually can be cached out of the box with Tangram. HTML pages don't receive caching oriented HTTP headers and even CSS have problems, perhaps with the interpretation of the expiry date.

426077 CDI Injection with @Named (New)

Heap

Priority: Low

Description

We'd like to have a solution for String sets, Maps, and for the pac4j AuthenticationClient instances.

409231 Datanucleus (enhancer) cannot inherit lists of references (In Progress)

Backlog

Priority: Low

Description

If a certain PersistenceCapable class definition inherits lists of references from its superclass, those lists cannot be used. (Example: RootTopic subTopics, elements, and relatedContainers)

408412 Migrate to FreeMarker (New)

2.0

Priority: Normal

Description

We can now leave behind the old velocity engine, which doesn't seem to be under active development anymore, and go ahead to FreeMarker.

408411 Migrate to commons-lang3 (in progress)

2.0

Priority: Low

Description

Tangram depends on lang (2) through its velocity dependency and lang3 through its pac4j dependency. We tend to use the latter for the future as the single dependency.

Martin Goellnitz / Mon, 11 Mar 2019 21:40:47 2ebda3afd56ae51f7e1651074967ca5934201499

refs #408411 - migrate to commons-lang3

Martin Goellnitz / Fri, 20 Mar 2020 18:57:49 d3446384eac1c71344a872a1d5df658e6f44cb68

refs #408411 - also migrate to lang3 in this branch

Martin Goellnitz / Fri, 20 Mar 2020 18:57:49 b8462ae59896420fb030bf10961f3987233d9bdb

refs #408411 - also migrate to lang3 in this branch

403349 Programmed Views (New)

Heap

Priority: Low

Description

How about view programmed in Groovy or Java - and not only Velocity or JSP as it is the case right now.

402484 Change default dispatcher path (New)

Heap

Priority: Low

Description

The default value for the dispatcher path right now is /s - and none of the examples changes it.

We could decide to make this a required parameter so that the GenericLinkFactory can used it as an @Inject @Named mandatory field. In such a case it could be read with any DI Container directly via injection.

402464 @LinkHandler automatically registered with MetaLinkHandler (New)

Heap

Priority: Low

Description

It would be easier to use and configure the system, if @LinkHandler instances were automatically injection into the or registered with the MetaLinkHandler instance.

400211 Https for the Editor (New)

Heap

Priority: Normal

Description

It would be great if we had means to ensure HTTPS usage for the editor - and probably for other areas of the Tangram based application as well.

398524 Boot to Tangram (In Progress)

Heap

Priority: Normal

Description

Right now Tangram fully relies on containers separate from the building and packaging of the Tangram system. It might be a good idea to support a self-contained Tangram based application packaging.

We postponed this topic since the gretty plugin brought as a very nice interim solution half the way.

332697 Optional injections are done too late with CDI (New)

Heap

Priority: Low

Description

Through the use of the Tangram.properties file additional values can be injected into the beans prepared by CDI, like it can be accomplished with XML-files for the Spring Framework or the the properties files of dinistiq.

At the moment we were only able to let this take place after the call of the method marked as @PostConstruct which is obviously too late.

Still we don't want eager injections via @Inject for each and every injection point and we don't want to make beans capable of a split or doubled init process.

139722 Use Spring based typeconverters (New)

Heap

Priority: Low

Description

This might reduce or easy the custom conversion implementations we did so far.

137490 Do we want to use the ckeditor taglib? (resolved)

Heap

Priority: Low

Description

CK Editor Versions up to 3.x provided a JSP tag libary to trigger the editor integration.

http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Java/Integration

Sine the tag library aproach seems to be not available for latest CKEditor versions, there is no need to evaluate this any further. We stick with the simple aproach we took.

125584 Custom Warm Up Servlet for Tangram/GAE (New)

Heap

Priority: Low

Description

When using the Google App Engine, startup times are a crucial factory. Perhaps not only faster startup but also a custom warm up might help there.

3 Add Change Listeners (in progress)

Backlog

Priority: Low

Description

To be able to use external indexing we need to get notified of changes to avoid crawling of the website or database.

Martin Goellnitz / Sat, 30 Dec 2017 13:20:02 cd34fce100f5019dd25466803bb80dec27162981

refs #3 introduce change listeners

7 Template Resolver should allow configurable Mime-Types

Heap

Priority: Low

Description

So far the list of supported mime types in the abstract repository template resolver is fixed though the view itself can support any mime type for the resulting output.

8 Pac4j authenticator aggregation

Backlog

Priority: High

Description

Currently only the use of the SimpleAuthenticator is possible for tangram since it is hard coded.

We need to have different implementations any maybe even cuncurrently for different parts of the system like frontend-users and backend-users.

9 storing in the editor in unstable with Hibernate

Backlog

Priority: Normal

Description

Sometimes it is up to the next page-reload not possible to store in the editor when using Hibernate.

10 Update to Servlet API 4

Backlog

11 Update dinistiq (resolved)

2.0

12 Update to Spring 5

Backlog

13 Transient fields should be respected

Backlog

Priority: High

Description

Every supported ORM has its own annotations to mark transient fields in the bean classes. These markers are ignored by the editor and the tools leading to the option to edit transient fields when they have getters and setters and unwanted export- und import-results.

14 Provide automated content import tests (in progress)

Backlog

Priority: Normal

Description

There still are a few areas of the framework which are not automatically tested and lead to release delay and manual efforts. One of them is the generic content export and import feature, which supports our test environments and the transfer of content between ORM solutions.

While other areas of the web environment are harder to mock, it should be possible with the existing integration- and unit-tests to add an import test.

15 Publish Plugin in Snapshots

Backlog

Priority: High

Description

Currently the plugin is not published alongside the other tangram modues during snapshot build locally and in the CIs.

Clone this wiki locally