Data and configuration is read from and stores into the home directory,
which is indicated by yobi.home system property.
The default home direcory equals to user.dir.
Problem: When using a Standalone distribution created by Playframework
2, config files, application.conf and application-logger.xml, in conf
directory are ignored because the distribution has config files in jar
file and use them instead of conf directory.
Solution: Add some lines of shell script into the startup script to set
config files explicitly by "-Dconfig.file" and "-Dlogger.file" so that
Yobi uses them.
Problem: We should not store Yobi's version information in
conf/version.conf because user may not update the file when upgrade
Yobi. Since Play 2.3, conf directory for product is copied while
packaging so the directory is not updated even if Yobi is upgraded.
Solution: Store the version information in build.sbt. We used
version.conf to know the application version, required for YobiUpdate
feature, while application is running. But it is not necessary because
we can get the version by using sbt-buildinfo.
findbugs is a static java code analyzer. You can find possible bugs,
e.g. possible NPE, in source codes of Yobi by running findbugs as
follows:
activator findbugs
Then the report is generated as targets/scala-2.10/findbugs/report.xml
and you can browse the result by findbugs (You need to install
findbugs):
findbugs targets/scala-2.10/findbugs/report.xml
* Yobi users who upgraded to Play 2.3.x will have a problem when running the Yobi with a bug
which is originated from H2 1.3.175v (https://code.google.com/p/h2database/issues/detail?id=543)
* Added H2's the latest version 1.4.184 to build.sbt,
and It works well without editing PlayFramework modules's dependency files.
* As the latest version of H2 suggests, you may have to update application.conf's 'db.default.url' value
to not to use implicit relative path.
* If you use implicit relative path, then you have to change it to use explicite relative path like this:
jdbc:h2:file:yobi;MODE=PostgreSQL -> jdbc:h2:file:~/yobi;MODE=PostgreSQL
* Upgrade sbt from 0.13.0 to 0.13.5.
* Upgrade jsmessages from 1.6.1 to 1.6.2.
* Downgrade play-2-mail from 1.0.0 to 0.9.1.
* Split project/Build.scala into build.sbt and
project/BuildConfig.scala.
* Introduce sbt-less.
* Introduce sbt-twirl, the new template engine for PlayFramework, and
fix compile errors caused by it.
* Import scala.collection.JavaConversions._ for conversion between
Java and Scala collections.
* Import java.lang_ and java.util._ to use java types.
* Use implicitJavaLang imported from play.core.j.PlayMagicForJava._
instead of lang.
* Use requestHeader imported from play.core.j.PlayMagicForJava._
instead of request.
* Specify play.data.Form in full qualified name to avoid conflict
with play.api.data.Form.
* Fix the other template errors.
* Etc
* Use Result instead of deprecated SimpleResult.
* Use java.nio.file.NotDirectoryException instead of
scalax.file.NotDirectoryException.
* Update README to say use "acvitator" command instead of "play".
* Add methods to PlayServlet to support Servlet 3.1
IMPORTANT NOTE: You should modify the version of h2database on which
Play depends from 1.3.175 to 1.3.176 in
~/.ivy2/cache/com.typesafe.play/play-jdbc_2.10/ivy-2.3.6.xml as follows:
to avoid org.h2.jdbc.JdbcSQLException because of the bug that h2database
1.3.175 cannot create or alter sequence.