Re: Looking towards Apache Isis 2.0.0 - deprecated stuff to remove.

2017-09-30 Thread Vladimir Nišević
Hi Dan, great plan, looking forward to version 2.0.0!

Regards, Vladimir

Am 30.09.2017 07:45 schrieb "Dan Haywood" :

> Hi folks,
>
>
> I've started work on Apache Isis 1.16.0 in which we'll be updating
> DataNucleus to 5.1.  This in turn requires moving to Java 8 as the minimum
> to run an Isis app.  Now that Java 9 is out, I think that's a reasonable
> minimum.
>
>
> Moving to Java 8 is in itself probably a good enough reason to rename this
> release as Apache Isis 2.0.0 (rather than 1.16.0).  But in any case, one of
> the DN classes - TypeSafeQuery - is exposed from the Apache Isis applib and
> in DN 5.1 that class is renamed ... so backward compatibility is broken
> anyway.  Since we aim to follow semver, we ought anyway to call this next
> release Apache Isis 2.0.0.  Do people agree?
>
> ~~~
>
> And, if that's the case, then we probably should look to remove other
> features that have been deprecated for a while.  I've created a wiki page
> [1] and identified what I think should be removed, based on stuff currently
> deprecated in the applib, along with some "softer" stuff, such as the old
> Xxx.layout.json format.
>
>
> If you have any opinions on this stuff, please edit that wiki page.
>
> I'm intending for 2.0.0 to be done by the end of year.
>
>
> Thx
>
> Dan
>
> [1]
> https://cwiki.apache.org/confluence/display/ISIS/
> ApplibCandidatesForRemovalInApacheIsis2
>


Re: [VOTE] Apache Isis Core release 1.15.0 RC1

2017-08-13 Thread Vladimir Nišević
I have successfully switched to the 1.15.0RC1 in my current project.

+1

BR, Vladimir

Am 13.08.2017 19:36 schrieb "Dan Haywood" :

> I was going to close the vote and do the release today, but have run out of
> time unfortunately.
>
> Will do it tomorrow evening assuming we stay at +3 in aggregate.
>
> So if you want to vote, please do it now
>
> Thx
> Dan
>
> On Sat, 12 Aug 2017 at 00:47 Dan Haywood 
> wrote:
>
> > My +1 also.
> >
> > Any other votes?  Looking to close the vote soon.
> >
> > On Wed, 9 Aug 2017, 09:17 Óscar Bou - GOVERTIS, 
> > wrote:
> >
> >> +1
> >>
> >> Happy holidays for those enjoying the summer!
> >>
> >>
> >> El 8 ago 2017, a las 18:03, Kevin Meyer  escribió:
> >>
> >> +1
> >>
> >> Thanks Dan!
> >>
> >> By the way, the correct documentation URL is:
> >> http://isis.apache.org/guides/cgcom/cgcom.html#_cgcom_
> verifying-releases
> >>
> >> And to run the simple-app example you need to change the command:
> >> $ mvn -pl webapp jetty:run
> >>
> >>
> >> On Sun, August 6, 2017 11:28, Dan Haywood wrote:
> >>
> >> I've cut a release for Apache Isis Core and two archetypes:
> >>
> >>
> >> * Core 1.15.0
> >> * SimpleApp Archetype 1.15.0
> >> * HelloWorld Archetype 1.15.0
> >>
> >>
> >> (HelloWorld is a new archetype available for the first time in this
> >> release).
> >>
> >> The source code artifacts have been uploaded to staging repositories on
> >> repository.apache.org:
> >>
> >>
> >> *
> >> http://repository.apache.org/content/repositories/
> orgapacheisis-1058/org/a
> >> pache/isis/core/isis/1.15.0/isis-1.15.0-source-release.zip *
> >> http://repository.apache.org/content/repositories/
> orgapacheisis-1059/org/a
> >> pache/isis/archetype/helloworld-archetype/1.15.0/
> helloworld-archetype-1.1
> >> 5.0-source-release.zip
> >> *
> >> http://repository.apache.org/content/repositories/
> orgapacheisis-1059/org/a
> >> pache/isis/archetype/simpleapp-archetype/1.15.0/
> simpleapp-archetype-1.15.
> >> 0-source-release.zip
> >>
> >>
> >> For each zip there is a corresponding signature file (append .asc to the
> >> zip's url).
> >>
> >> In the source code repo the code has been tagged as isis-1.15.0-RC1,
> >> helloworld-archetype-1.15.0-RC1 and simpleapp-archetype-1.15.0-RC1; see
> >> https://git-wip-us.apache.org/repos/asf?p=isis.git
> >>
> >>
> >> For instructions on how to verify the release (build from binaries
> and/or
> >> use in Maven directly), see
> >> http://isis.apache.org/guides/cgcom.html#_cgcom_verifying-releases
> >>
> >>
> >> Please verify the release and cast your vote.  The vote will be open for
> >> a minimum of 72 hours.
> >>
> >> [ ] +1
> >> [ ]  0
> >> [ ] -1
> >>
> >>
> >>
> >>
> >> --
> >> Kevin Meyer
> >> Ljubljana, Slovenia
> >>
> >>
> >>
> >>
> >> Óscar Bou Bou
> >> Socio - IT & GRC Management Services Director
> >> m: +34 620 267 520 <+34%20620%2026%2075%2020>
> >> s:  www.govertis.com e: o@govertis.com
> >>
> >> LinkedIn: https://www.linkedin.com/in/oscarbou
> >> Twitter:  @oscarbou 
> >>
> >>
> >>
> >> Este mensaje y los ficheros anexos son confidenciales. Los mismos
> >> contienen información reservada que no puede ser difundida. Si usted ha
> >> recibido este correo por error, tenga la amabilidad de eliminarlo de su
> >> sistema y avisar al remitente mediante reenvío a su dirección
> electrónica;
> >> no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.
> >>
> >> Su dirección de correo electrónico junto a sus datos personales constan
> >> en un fichero titularidad de GOVERTIS ADVISORY SERVICES, S.L. cuya
> >> finalidad es la de mantener el contacto con Ud. Si quiere saber de qué
> >> información disponemos de Ud., modificarla, y en su caso, cancelarla,
> puede
> >> hacerlo enviando un escrito al efecto, acompañado de una fotocopia de su
> >> D.N.I. a la siguiente dirección: GOVERTIS ADVISORY SERVICES, S.L. Avda
> >> Cortes Valencianas, 58 – 8º - 6ª. 46015 - Valencia,  y Paseo de la
> >> Castellana, 153, 28045 - MADRID. Asimismo, es su responsabilidad
> comprobar
> >> que este mensaje o sus archivos adjuntos no contengan virus
> informáticos, y
> >> en caso que los tuvieran eliminarlos.
> >>
> >>
>


How to test multithreaded feature

2017-03-30 Thread Vladimir Nišević
Hi, we have built a mass import feature, starting many threads and each of
them will open it's own transaction and create/update entities in database.

Currently this feature cannot be tested as part of integration or BDD tests
since the IsisSystemForTest runs in a ThreadLocal [1].

Any idea how to tackle this?

Regards,Vladimir



[1] https://isis.apache.org/guides/ugtst.html#5.2.1.-isissystemfortest


Re: Reworked website, with new user guide and reference guide

2015-06-16 Thread Vladimir Nišević
Hi Dan, great work! Many thanks!

Regards,Vladimir

2015-06-16 10:35 GMT+02:00 Alexander Krasnukhin :

> Yeah, I guess the time of static html images is gone long time ago :)
>
> On Tue, Jun 16, 2015 at 10:31 AM, Jeroen van der Wal 
> wrote:
>
> > Yes Alexander, this the UI you get for free. Impressive isn't it?
> >
> > On 16 June 2015 at 10:28, Alexander Krasnukhin 
> > wrote:
> >
> > > Also I think README image links on github are broken.
> > >
> > > On Tue, Jun 16, 2015 at 8:48 AM, Dan Haywood <
> > d...@haywood-associates.co.uk
> > > >
> > > wrote:
> > >
> > > > Hi folks,
> > > >
> > > > Over the last month or so I've been reworking the Isis website, to:
> > > >
> > > > - consolidate our "how-to" documentation into a comprehensive user
> > guide
> > > > [1]
> > > > - provide a corresponding reference guide [2]
> > > > - rework from Markdown to Asciidoctor
> > > >
> > > > I've pushed the updated site this morning.   The home page [3] is
> > > > substantially the same, but the documentation page [4] has been
> > > overhauled
> > > > and simplified with big prominent buttons to the two new guides.
> > > >
> > > > So you know, these guides do reference some feature in
> 1.9.0-SNAPSHOT,
> > so
> > > > if you are working on 1.8.0 and can't find something that's
> discussed,
> > > > that'll be why.  (Releasing 1.9.0 is the next thing on my todo list).
> > > >
> > > > The guides are mostly complete, though there are still some
> > placeholders
> > > > here and there.  I decided to release them in their current state
> > because
> > > > even slightly unfinished I think they are far better than what we had
> > > > before.
> > > >
> > > > Feedback welcome, as ever.
> > > >
> > > > Thx
> > > > Dan
> > > >
> > > > PS: The source for all this is in our git repo [5], and can be built
> > > > locally [6].  Pull requests welcome!
> > > > PPS: if you don't see any changes, then force reload of the page
> > (ctrl-R
> > > or
> > > > similar).
> > > >
> > > > [1] http://isis.apache.org/guides/ug.html
> > > > [2] http://isis.apache.org/guides/rg.html
> > > > [3] http://isis.apache.org/
> > > > [4] http://isis.apache.org/documentation.html
> > > > [5]
> > > >
> > > >
> > >
> >
> https://github.com/apache/isis/tree/master/adocs/documentation/src/main/asciidoc
> > > > [6]
> > > >
> > https://github.com/apache/isis/tree/master/adocs/documentation/README.md
> > > >
> > >
> > >
> > >
> > > --
> > > Regards,
> > > Alexander
> > >
> >
>
>
>
> --
> Regards,
> Alexander
>


Entity action with Clob parameter thru restful service

2015-03-06 Thread Vladimir Nišević
Hi, we want to expose upload file feature of an entity thru restful
interface.

According to restful spec https://github.com/danhaywood/restfulobjects-spec
it should go like this:

*16.2.2 Request (if blobClobs)*
*Updating blobClob properties is performed by PUTting the actual value*
*(e.g. image), with appropriate content type.*
*Note that optional validation (x-ro-validate-only) and domain type*
*metadata preferences (x-ro-domain-model) are not supported for*
*blobClobs.*
*16.2.2.1 Query String*
*· none*
*16.2.2.2 Headers*
*· Content-Type: (depends on property type)*
*o eg image/jpeg, image/png, application/pdf*
*· If-Match*
*o timestamp digest*
* obtained from ETag header of representation*
* only validate the request, do not modify the property*
*16.2.2.3 Body*
*· a byte array (for blobs)*
*· a character array (for clobs)*

So our method signature is:

*  public String uploadFile(Clob input) { }*

And calling restful description of single entity we get

...

   - "uploadFile": {
  - "id": "uploadFile",
  - "memberType": "action",
  -
  "links": [
 -
 {
- "rel":
"urn:org.restfulobjects:rels/details;action=\"uploadFile\"",
- "href": "

http://localhost:8080/restful/objects/ASE_BATCH_JOB/L_2354/actions/uploadFile
",
- "method": "GET",
- "type":

"application/json;profile=\"urn:org.restfulobjects:repr-types/object-action\""
 }
  ]
   }

...

and  in the next step we have
...

   - {
  - "rel": "urn:org.restfulobjects:rels/invoke;action=\"uploadFile\"",
  - "href": "
  
http://localhost:8080/restful/objects/ASE_BATCH_JOB/L_2354/actions/uploadFile/invoke
  ",
  - "method": "POST",
  - "type":
  
"application/json;profile=\"urn:org.restfulobjects:repr-types/object-action\""
  ,
  -
  "arguments": {
 -
 "clob": {
- "value": null
 }
  }
   },

...

So we have playing around with executing the methods thru e.g. postman
(chrome app), but with no success.

Here our questions:

1. URL should be something like:
http://localhost:8080/restful/objects/ASE_BATCH_JOB/L_2354/actions/uploadFile/invoke
- this is pretty clear, I think...

2. Should we send PUT or POST Request ?

3. May we define a method with return value, e.g. String, or must be void?

4. Should we annotate our method  with @Action(semantics =
SemanticsOf.NON_IDEMPOTENT) ? Without annotations, Isis proposes the POST

5. We put in request header

Content-Type:text/plain

Should we put something else/more? If-Match element? If yes which value? *

6. How the request body should look like?

6a: raw text ? e.g. ABC

6b: Json clob representation from previous description response
{
"clob": {
"value": "ABC"
}
}

6c: Json value

{
"value": "ABC"
}


Depending on request variants, we get different exceptions. So we are not
sure if we use it wrongly or we have a bug...



Thanks,Vladmir


Re: [VOTE] Apache Isis Core release 1.8.0 RC1

2015-02-23 Thread Vladimir Nišević
+1

Best regards
Vladimir


> Am 23.02.2015 um 08:15 schrieb Dan Haywood :
> 
> My own +1
> 
>> On 22 February 2015 at 21:38, Martin Grigorov  wrote:
>> 
>> +1 to release
>> 
>> Tested building Isis from source (+ verifying signatures) and with
>> downloading from the Maven repo.
>> Everything looks fine with the application I'm working on.
>> 
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>> 
>> On Fri, Feb 20, 2015 at 11:09 PM, Dan Haywood <
>> d...@haywood-associates.co.uk>
>> wrote:
>> 
>>> Hi folks,
>>> 
>>> I've cut a release for Apache Isis Core and the simpleapp archetype:
>>> * Core 1.8.0
>>> * SimpleApp Archetype 1.8.0
>>> 
>>> Note that the Wicket viewer is now part of Core, and that the ToDoApp
>>> archetype has been retired (replaced by an example app on Isis addons,
>>> outside of ASF).
>>> 
>>> The source code artifacts have been uploaded to a staging repository on
>>> repository.apache.org:
>> http://repository.apache.org/content/repositories/orgapacheisis-1032/org/apache/isis/core/isis/1.8.0/isis-1.8.0-source-release.zip
>> http://repository.apache.org/content/repositories/orgapacheisis-1032/org/apache/isis/archetype/simpleapp-archetype/1.8.0/simpleapp-archetype-1.8.0-source-release.zip
>>> 
>>> For each zip there is a corresponding signature file (append .asc to the
>>> zip's url).
>>> 
>>> In the source code repo the code has been tagged as isis-1.8.0-RC1 and
>>> simpleapp-archetype-1.8.0-RC1.
>>> 
>>> For instructions on how to verify the release (build from binaries and/or
>>> use in Maven directly), see
>>> http://isis.apache.org/contributors/verifying-releases.html
>>> 
>>> Please verify the release and cast your vote.  The vote will be open for
>> a
>>> minimum of 72 hours.
>>> 
>>> [ ] +1
>>> [ ]  0
>>> [ ] -1
>>> 
>>> Thanks
>>> Dan
>> 


Re: Experience with upgrade our application to 1.8.0-SNAPSHOT

2015-02-23 Thread Vladimir Nišević
Hi Dan, thank you for your answer and hint. After I made cleanup of my
local maven repository, it all works fine!

Seems not to be any show-stopper at the moment.

Regs,Vladimir

2015-02-20 18:14 GMT+01:00 Dan Haywood :

> Hi Vladimir,
>
> Thanks for this feedback.
>
> We did have an issue with this a few days ago, I had made a silly error and
> was corrupting the list of packages to go searching for services.  So you
> might just have picked up this bad version.
>
> Otherwise, I'm actually cutting the 1.8.0 release right now.  Given there's
> been so much work done in it, I'm sure that there will be a few bugs still
> lurking; but for ourselves we're in production right now on a cut from
> 1.8.0-SNAPSHOT, so we think it's reasonably stable.
>
> Let us know if you know of anything you consider a show-stopper, however.
>
> Thx
> Dan
>
> ~
>
> On 20 February 2015 at 10:37, Vladimir Nišević  wrote:
>
> > Hi guys, first of all, great work in the upcoming version!
> >
> > We are currently using 1.7.0 in production and planning to upgrade to
> > 1.8.0 - since it solves some othes our issues .
> >
> > Here some first experience we've made with 1.8.0-SNAPSHOT. My approach is
> > usually to checkout the latest simpleapp, run it locally based on that
> > experience adapt e.g. maven dependencies, new settings in our application
> > that works with 1.7.0
> > We also use simpleapp when trying to reproduce our issues.
> >
> > First experience I've made when launching the naked simpleapp-webapp
> using
> > eclipse IDE with provided .launch config, is that isis does not recognize
> > any persistent classes and I get next error
> >
> >
> >  ISIS METAMODEL
> VALIDATION
> > ERRORS 
> >
> > No @PersistenceCapable entities found. (Are the entities referenced by
> the
> > registered services? are all services registered? did the DataNucleus
> > enhancer run?)
> >
> > Please inspect the above messages and correct your domain model.
> >
> >  ISIS METAMODEL
> VALIDATION
> > ERRORS 
> >
> > Datanucleus enhancer seems to work see attached log
> >
> >
> > We found a workaround, when adapting isis.properties and putting
> > explicitly the
> >
> > isis.services = dom.simple.SimpleObjects,\
> >
> > then it works.
> >
> > Trying out with IDEA (the latest one), it works fine without any
> > adaptations, but my team is currently using eclipse.
> >
> > I have some more issues, would come with them if we stuck...
> >
> > Regs,Vladimir
> >
>


Experience with upgrade our application to 1.8.0-SNAPSHOT

2015-02-20 Thread Vladimir Nišević
Hi guys, first of all, great work in the upcoming version!

We are currently using 1.7.0 in production and planning to upgrade to 1.8.0
- since it solves some othes our issues .

Here some first experience we've made with 1.8.0-SNAPSHOT. My approach is
usually to checkout the latest simpleapp, run it locally based on that
experience adapt e.g. maven dependencies, new settings in our application
that works with 1.7.0
We also use simpleapp when trying to reproduce our issues.

First experience I've made when launching the naked simpleapp-webapp using
eclipse IDE with provided .launch config, is that isis does not recognize
any persistent classes and I get next error


 ISIS METAMODEL VALIDATION
ERRORS 

No @PersistenceCapable entities found. (Are the entities referenced by the
registered services? are all services registered? did the DataNucleus
enhancer run?)

Please inspect the above messages and correct your domain model.

 ISIS METAMODEL VALIDATION
ERRORS 

Datanucleus enhancer seems to work see attached log


We found a workaround, when adapting isis.properties and putting explicitly
the

isis.services = dom.simple.SimpleObjects,\

then it works.

Trying out with IDEA (the latest one), it works fine without any
adaptations, but my team is currently using eclipse.

I have some more issues, would come with them if we stuck...

Regs,Vladimir


Re: ISIS-970 ... (new annotations) please review if you get a chance...

2014-12-31 Thread Vladimir Nišević
I would vote for most well described DDD terms (described in Evans book) - this 
would help users to adopt/understand ISIS framework easier and have a kind of 
reference documentation. Term 'Object' is too general, and "Business Object 
modelling antipatterns" are also very wide spreaded, e.g. by people like 
enterpise information modelling architects...

Regs, Vladimir


> Am 31.12.2014 um 07:40 schrieb Dan Haywood :
> 
>> On 30 December 2014 at 23:44, David Tildesley  wrote:
>> 
>> +1 for the counter proposal (although I would suggest cloning/deriving
>> "@DomainObjectLayout" to "@ViewModelLayout" etc. so that "Domain*" tags are
>> not used in ViewModel - less confusing).
> 
> On a different thread to dev@ I also made a related proposal that
> @Property, @Collection, @Action etc be renamed to @DomainProperty,
> @DomainCollection, @DomainAction etc... the primary reason being that
> clashes with @Collection clashes with java.util.Collection, plus I like the
> idea of all Isis-related annotations starting with an @DomainXxx prefix.
> 
> No one's commented on that, yet.
> 
> Given your preference of @ViewModel and reserving "@Domain" to be strictly
> for domain layer concepts, would I be right to guess you wouldn't be in
> favour of adding "Domain" as a prefix to all those annotations?
> 
> 
> 
> 
> 
> 
>> On Tuesday, 30 December 2014 3:07 AM, Dan Haywood <
>> d...@haywood-associates.co.uk> wrote:
>> 
>> 
>> On 29 December 2014 at 13:23, GESCONSULTOR - Óscar Bou <
>> o@gesconsultor.com> wrote:
>> 
>>> Ok.
>>> 
>>> So let's raise some questions/doubts :)
>>> 
>>> *** @DomainObject  ***
>>> 
>>> Is a ViewModel a DomainObject at all ?
>> it's a good question, and I've debated it myself.  Let me lay out my
>> thinking on this so far and see if we can collectively come to a view on
>> this.
>> 
>> First thing to note is that there are two "varieties" of view models (even
>> though the implementation is identical)
>> 
>> - those that are part of the domain layer and are, conceptually at least,
>> entities, but where the persistence is managed outside of Isis.  An example
>> is a document in a CMS
>> - those that are part of the application layer, and represent a view on top
>> of one or more entities.
>> 
>> Of course, we expect an application layer to depend on the domain layer and
>> not vice versa, but even so, because some view models are conceptually
>> entities I suspect that in a typical Isis application it will be reasonable
>> to allow JDO-managed domain entities to interact with externally-managed
>> view model entities.
>> 
>> 
>> Because of this, I've been thinking of "DomainObject" as being a superset
>> of both entities and view models.
>> 
>> 
>> 
>> 
>>> I would consider them as a different kind, so the @ViewModel annotation
>>> shouldn't be deleted.
>> 
>> You are certainly right that quite a few of the features in @DomainObject
>> don't apply to view models (even if conceptually they are entities)...
>> because we rely on JDO to implement.  Specifically:
>> 
>> - auditing... requires JDO so doesn't apply to view models
>> - publishing ... requires JDO so doesn't apply to view models
>> - bounded = not sure... even though doesn't depend on JDO, suspect that it
>> isn't supported for view models
>> 
>> - autoComplete ... is supported for view models
>> - editing ... is supported so long as the ViewModel.Cloneable interface is
>> also implemented.  I can foresee this restriction being lifted in the
>> future
>> - objectType ... is supported for view models (used as REST URLs)
>> 
>> 
>> 
>> 
>> 
>>> Also, perhaps we can introduce Isis platform logic like not
>>> "saving/persisting" view models, etc. If that would be the case, the
>>> "editing" and "editingDisabledReason" at least might not have any sense.
>> Not sure I understand this point.  But at any rate, given that some view
>> models are basically externally-managed entities, the semantics of
>> "saving/persisting" would also apply.
>> 
>> 
>> 
>> 
>> 
>>> 
>>> If so, I would better align with DDD naming conventions, in order to gain
>>> acceptance.
>>> 
>>> So, names should be @Entity or @DomainEntity (for avoiding name collision
>>> with JPA) - instead of @DomainObject -.
>> I did consider @DomainEntity, but as I say, sometimes view models act like
>> entities.  I do quite like it though.
>> 
>> I have a counter-proposal, see below.
>> 
>> 
>> 
>>> I like the @DomainService name, as it can act as a DDD Factory and/or
>>> Repository.
>>> 
>>> 
>>> As currently there's no "special" support for AggregateRoots or
>>> ValueObjects, no more annotations are needed.
>> Sounds like a vote to deprecate.  Jeroen has said the same thing.  Perhaps
>> they should be deleted in v2.0 and reappear, if we want them back, in v3.0.
>> 
>> 
>> 
>>> So the proposed set would be:
>>> • @ViewModel and @ViewModelLayout
>>> • @DomainService and @DomainServiceLayout
>>> • @DomainEntity and @DomainEntityLayout
>>> • @Property and @PropertyLayout
>>> • @Collect