bcswissre

Jive 5 - Building the Development Environment

Discussion created by bcswissre on Jul 5, 2011

Case #135049

Details


Status: Closed
Case Type: /
Severity: Level 3
Product: Core: Jive Platform
Component: Core: Install - Upgrade - Setup - Platform - RPM
Environment: /
Internal Discussion Link: /

Description


Hi,

 

I have the task to begin evaluating Jive 5  and am trying to setup a local development environment.

 

I've followed the instructions which have been updated for Jive SBS 5.0

 

Build and Run Your Local Jive Customization

 

I've unfortunately encountered a problem in running the eae-service locally.

 

The dependencies cannot be found in the maven repository:

 

<dependencies>
     <dependency>
          <groupId>eae.core</groupId>
          <artifactId>eae-service</artifactId>
          <version>1.1.0.3-SNAPSHOT</version>
     </dependency>
</dependencies>

 

Your assistance would be appreciated.

 

Thanks and Kind Regards,

Ben.


Comments


Hi Ben,

 

Thanks for you info.

 

Could you please let me know which steps in the instructions you did successfully, and at which step you encountered that problem?

was then any log or error messages available?

 

Regards

 

Yingjie



Hi Yingjie,

 

The error occurred when I ran eae-start and the error was that the dependency noted above was not able to be found.

The document has now been updated by Jive as I commented there directly and this particular problem has been resolved, so I won't include the original error.

 

However, Windows is apparently not currently a supported development platform. This is a serious problem for us as our enterprise only permits Windows based workstations, so it makes developing against Jive 5 rather difficult.

 

Could you please find out how long we should expect to wait until Jive 5 development can be done on Windows?

 

Thanks and Kind Regards,

Ben.



Hi Ben,

 

Thanks for your feedback.

 

I had a look regarding the supported OS, and I'd like to list the link below

 

http://docs.jivesoftware.com/jive_sbs/5.0/topic/com.jivesoftware.help.sbs.online_5.0/admin/SystemRequirements.html

 

Regarding general Jive 5 development, e.g. Java development, which can be done on Windows using tools (Eclipse/IntelliJ) for Window,

then deployed to supported OS environments.

 

Hope that helps.

 

Regards

 

Yingjie



Hi Yingjie,

 

As mentioned in the document comments I've referenced, an error occurs when eae-start is executed on Windows.

Here's what I get:

 

2011-07-06 08:30:24,674 [main] WARN [] com.jivesoftware.eae.service.dao.core.ConfigurationPropertiesDAO - Error accessing configuration properties file: C:\Documents and Settings\srzech\My Documents\Projects\Workplaces\NGEP-Workplace\ngep-main\web\src\test\eae\config\instance_properties.json
java.io.IOException: The process cannot access the file because another process has locked a portion of the file
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read1(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at org.codehaus.jackson.impl.ByteSourceBootstrapper.ensureLoaded(ByteSourceBootstrapper.java:340)
    at org.codehaus.jackson.impl.ByteSourceBootstrapper.detectEncoding(ByteSourceBootstrapper.java:116)
    at org.codehaus.jackson.impl.ByteSourceBootstrapper.constructParser(ByteSourceBootstrapper.java:197)
    at org.codehaus.jackson.JsonFactory._createJsonParser(JsonFactory.java:503)
    at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:365)
    at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1172)
    at org.codehaus.jackson.map.ObjectMapper.readTree(ObjectMapper.java:868)
    at com.jivesoftware.eae.service.dao.core.ConfigurationPropertiesDAO.readAndLock(ConfigurationPropertiesDAO.java:275)
    at com.jivesoftware.eae.service.dao.core.ConfigurationPropertiesDAO.isUsable(ConfigurationPropertiesDAO.java:55)
    at com.jivesoftware.eae.service.Main.environmentalSanityCheck(Main.java:108)
    at com.jivesoftware.eae.service.Main.startup(Main.java:70)
    at com.jivesoftware.eae.service.Main.main(Main.java:57)

 

I would like to understand when I can actually develop on Windows as I'm not given any other choice in my company.

 

Thanks and Kind Regards,

Ben.



Hi Ben,

 

Thanks for your info.

 

I checked again, I'm afraid that Window is not supported.

 

Regards

 

Yingjie



Hi Yingjie,

 

I'm afraid this causes us some serious issues as we only have Windows environments on the workstations in our organisation.

Will it be supported in the future or is there no plan to bring back support again?

I'm working on a workaround, but will have to continue this issue discussion with Jive at another level to see if we can gain support again (for development only).

 

Kind Regards,

Ben.



Hi Ben,

 

what is the process that is locking the file ? You can find out with a tool such as 'Filemon'. Another alternative would be to run the EAE on a separate Linux box and share it with your developers, assuming that SBS can be launched successfully on your local windows machine.

 

Thanks,

 

Alessio



Hi Alessio,

 

I wasn't able to identify the process locking the file. I've attached the eae-service.log file generated as there are earlier errors which may be related.

 

With respect to running the eae-services remotely. Is this something that can serve multiple Jive instances? Do we only need to run it once for multiple developers?

 

It may be a way to move forward without too much pain.

 

Thanks,

Ben.



After some testing, it is EAE that is locking the file. I deleted instance_properties.json, and restarted EAE. I monitored the directory and the file was recreated during EAE startup, once it was recreated the error is thrown.



Hi Ben,

 

let me follow up internally to see what options we have. In theory, there should be a separate eae for each SBS instance (and also a EAE db), but I think you will want to customize SBS, so it may be acceptable to have a shared EAE which allows you to pass the config screen in 5.0 set up. I'll get you an update soon.

 

Thanks,

 

Alessio



I can confirm that running EAE on linux and jive5 core instance on a Win does work.



Hi Ben,

 

I owe you a follow-up on this and it turns out that the best choice is indeed an EAE running on a separate linux box (can be on a VM if that is more convenient). I hope this answers your question.

 

Best,

 

Alessio



Hi Alessio,

 

For me, an open point was whether we can use the same EAE instance for multiple Jive dev installations running simultaneously.

Does EAE also connect to this new activities database? If so, we'd also have a shared database which we'd have to contend with.

If we can't, can we instead, configure multiple EAE instances using different ports?

 

Thanks and Kind Regards,

Ben.



Hi Ben,

 

When we were testing Jive 5.0 internally we used a shared eae instance across multiple instances, so I think it is fine to do the same at your end: I would suggest starting off with a couple of dev instances and let us know if you have any issues. The recommender service should be turned off.

 

Thanks,

 

Alessio



Hi Alessio,

 

Thanks for confirming this. I'll try it out and raise a seperate case should we have issues.

 

In the meantime, I think I can now close this case.

 

Kind Regards,

Ben.



Hi Ben,


I am encountering below error while starting eae service runing the command ./eae-start in the terminal:

 

 

Downloading: http://repo1.maven.org/maven2/eae/core/eae-service/1.3.2.0/eae-service-1.3.2.0.jar

[INFO] Unable to find resource 'eae.core:eae-service:jar:1.3.2.0' in repository central (http://repo1.maven.org/maven2)

[INFO] ------------------------------------------------------------------------

[ERROR] BUILD ERROR

[INFO] ------------------------------------------------------------------------

[INFO] Failed to resolve artifact.

 

Missing:

----------

1) eae.core:eae-service:jar:1.3.2.0

 

  Try downloading the file manually from the project website.

 

  Then, install it using the command:

      mvn install:install-file -DgroupId=eae.core -DartifactId=eae-service -Dversion=1.3.2.0 -Dpackaging=jar -Dfile=/path/to/file

 

  Alternatively, if you host your own repository you can deploy the file there:

      mvn deploy:deploy-file -DgroupId=eae.core -DartifactId=eae-service -Dversion=1.3.2.0 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

 

  Path to dependency:

        1) com.jivesoftware.training:web:war:1.0-SNAPSHOT

        2) eae.core:eae-service:jar:1.3.2.0

 

----------

1 required artifact is missing.

 

for artifact:

  com.jivesoftware.training:web:war:1.0-SNAPSHOT

 

from the specified remote repositories:

  central (http://repo1.maven.org/maven2),

  jive.internal (http://maven-secure.jivesoftware.com/archiva/repository/jive.internal),

  jive.snapshots (http://maven-secure.jivesoftware.com/archiva/repository/jive.snapshots)

 

We are working on Jive 5.0.3.0 . Is it the correct way or should we try with some other approach to start eae service, Since this error comes everytime we start eae service after creating project.

 

Thanks



Hi Suresh,

 

Looking in the repository, the latest version of this package available is 1.3.0.1. You'll need to contact Jive as they may have neglected to make this new package available in the maven repository.

 

Alternatively, change the pom.xml in your web project and reference the 1.3.0.1 version. This shouldn't be an issue for development purposes.

 

Hope this helps,

 

Ben.



Hello Ben,

Can you outline the steps you took to point your windows instance to a Linux hosted EAE?

 

Thank you!

Powell



Hi Powell,

 

As the eae service began working on Windows (as of 5.0.1 I think, though it was a while ago), we abandoned that model.

 

Getting the eae service should be fairly straight forward if you can simply install the "productive" package (we use SLES).

Once installed, you can setup the database, you can enable the eae-service (after configuring it). The details of setting up an environment can be found here: http://docs.jivesoftware.com/jive_sbs/5.0/topic/com.jivesoftware.help.sbs.online_5.0/admin/InstallingTheLinuxPackage.html

While not comprehensive does cover the main points.

 

Going back to your development environment, you will have to go to your admin console (System / Settings / Activity Engine) and configure your instance to point to this remote service. You will also have to configure the database connection.

 

One tricky gotcha if you use the default pgsql database on the eae service instance, you have to reconfigure pgsql to listen on the network (and not just locally). I don't remember to details, but there are useful hints you can find via a search, e,g,

http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html

 

As it's now possible to run this on Windows anyway, I'd recommend keeping it simple.

 

Kind Regards,

Ben.



Thank you Ben for your reply!   I was finally able to get a localized dev environment running on windows, so I am good now. 



Hi Ben,

Thanks for your reply.

 

Now I am getting below error, while I am trying to start eae-service:

 

numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]

[INFO] 2012-05-15 23:41:20,945 [CheckRecommenderForCommandThread] INFO [] com.jivesoftware.eae.service.dao.DataSourceManager - Verified schema for system with id 962a87e7-192d-4f90-80a1-b6c600c40435

[INFO] 2012-05-15 23:41:20,951 [CheckRecommenderForCommandThread] ERROR [] com.jivesoftware.eae.service.dao.DataSourceManager - Database schema version does not appear to match expected version for systemID: *************************. No work will be done on the connection.

 

Sorry, still I am facing issues while starting eae-service.

 

Thanks a lot,

Suresh P.



Hi Suresh,

 

Is this a new build? I would try wiping your EAE database schema so that it gets rebuilt.

 

Ben.


Attachments

Outcomes