Skip to content
Martin Goellnitz edited this page Feb 26, 2019 · 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

617413 Update to new Enhancer Interface in Hibernate 5.2.6 (resolved)

1.2

Priority: High

Description

Hibernate 5.2.6 eliminates the old access to the enhancement class fixed to a javassist based backend. We now face the job to go over to a generic approach which might use javassist or bytebuddy as a backend.

The default now should be bytebuddy.

The instanciation of the classes implementing the stuff which now is just interfaces is pretty unclear. The was no documentation of the really major change found so far.

Martin Goellnitz / Fri, 13 Jan 2017 02:51:17 555e1f5463e8f46dc03b487f216dbcdc77f674e3

refs #617413 update to hibernate 5.2.6 bytebuddy enhancer completed

Martin Goellnitz / Sat, 14 Jan 2017 14:46:02 27dfcdf355db8d36bdf97918711d24b4b06ef509

refs #617413 reduce wordiness of new hibernate enhancer part

605642 Update web.xml et al to servlet 3.0 (Resolved)

1.2

Priority: High

Description

The web.xml still reference servlet 2.5 values and some other files may do so also.

585229 Make allowedUsers dynamically extendable (Resolved)

1.2

Priority: Low

Description

All users from the users.properties should be added to the allowedUsers set.

584617 Dynamic Model Extension for Morphia (Resolved)

1.2

Priority: Low

Description

Like DataNucleus JDO with its ClassRepositoryEnhancer morphia can be extended with dynamic means to extend the set of model classes at runtime.

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

Backlog - 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

573611 Update artifactory gradle modules (resolved)

1.2

Priority: Normal

Description

The latest version is 4.4.0 which is not plug in compatible with the old 3.x stuff and breaks the build. We don't right now know any way to resolve this.

Martin Goellnitz / Mon, 25 Feb 2019 13:37:49 4ee3884f0eb136ca4430dd622d1443e71e88599b

refs #573611 recent versions don't have the mentioned problem anymore

564938 Generic type safe query objects (Resolved)

1.2

Priority: Normal

Description

Many of the supporrted storage APIs cannot rely on query-strings (anymore) to use the full neede selection functionality. We need to change the tangram APIs with breaking changes to support typed query objects, if it is possible at all.

551877 Support strange numbering scheme in CodeMirror patchlevels (Resolved)

1.2

Priority: Low

Description

CodeMirror uses e.g. 5.14 for releases and subsequently 5.14.2 for patchlevels. So the 5.14.0 is missing - but not in all places. In some areas the .0 has to be appended, while the .2 always has to be appended.

550773 Fix queries for morphia (Resolved)

1.2

Priority: High

Description

Morphia doesn't support queries of any kind so far since it is missing a query language which the tangram API relies on.

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.

436702 Generic JSON Output (Resolved)

1.2

Priority: Normal

Description

We want to support the most common JSON libraries and representations with generic templatates which output JSON.

433233 CDN Integration HTTP Headers for nearly everything (New)

Backlog - 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)

Backlog

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 (New)

Backlog

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.

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)

Backlog

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)

Backlog

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)

Backlog

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 base 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.

1 Create enhanced hibernate lib again (resolved)

1.2

Priority: High

Description

The hibernate enhanced jar doesn't contain any class files in the latest builds.

2 Gradle JVM-Language specific paths (resolved)

1.2

Priority: Normal

Description

Gradle will remove the feature to collect class files in one classes directory. Instead it will separate classes depending on the JVM language in use. Thus any generic reference to classes for the ORMs in the Tangram Plugin will fail.

So far tangram is not even compilable with Gradle 4.0.

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

4 Remove versionseye from the build (resolved)

1.2

Priority: High

Description

The versioneye service ceased to exist so the references to this service need to be removed from the workspace.

Martin Goellnitz / Sat, 16 Feb 2019 12:21:42 bfe9c63cf38782bfa711bb50a3ef7a7806118c50

refs #4 remove versioneye references

Martin Goellnitz / Sat, 16 Feb 2019 13:22:23 79bbad9b5e2c27f17c717270733b9014720854e4

refs #4 remove versioneye references

Martin Goellnitz / Mon, 25 Feb 2019 00:08:42 85b04102660a874990e2dcd4ec34a3cfc51da015

refs #4 remove yet another versioneye reference

5 Allow for One-Character class names in default link handler (resolved)

1.2

Priority: Low

Description

Even though a rare case it was not intended for require class names with more than one character in the name. Also viewnames should start with a lowercase letter since they resemble viewing methods.

Martin Goellnitz / Tue, 19 Feb 2019 18:19:16 834ea651b959092bb0accf7669b39ab13bad9a94

refs #5 modify URI patterns to react on in default handler

6 Allow for template to return SVG (in progress)

1.2

Priority: Low

Description

In rare cases templates need to create SVG which needs to be implemented in the framework.

Martin Goellnitz / Tue, 19 Feb 2019 18:29:05 4ee81c8fb3f4a14992e7fbc47cf91eefa017ee72

refs #6 add svg support in three places - hopefully nothing is missing

Martin Goellnitz / Tue, 19 Feb 2019 23:13:23 afc0eb728e42cbe954fcb2044647da6cf1ccd1b1

refs #6 fix svg template support

Martin Goellnitz / Tue, 19 Feb 2019 18:29:05 4269b33cdf763cfd1111d0b33d6ae82004b39cf6

refs #6 add svg support in three places - hopefully nothing is missing

Martin Goellnitz / Tue, 19 Feb 2019 23:13:23 03b7b263f4d43e304616d00e4d3eea6e4e02d306

refs #6 fix svg template support

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

Backlog

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.

Clone this wiki locally