h1. PlayMorphia module Documentation

p(note). IMPORTANT NOTE for those who use @Long@ type ID: There is an urgent issue reported by "Peksa":https://github.com/Peksa: "Version 1.2.11 and up reset Long id generation in production system":https://github.com/greenlaw110/play-morphia/issues/101

Welcome to PlayMorphia module documentation. This documentation is intended for the *1.2.11 release* and may significantly differ from previous module version's documentation.

Check the "version history":history

p(note). *Break changes*: Start from v1.2.8 "Auto timestamp feature enabled to all Model classes by default":model#timestamp. Add the following line to your @conf/application.conf@ file to maintain the compatibility to your existing project: @morphia.autoTimestamp=false@

p(note). *Break changes*: v1.2.7 now works for Play-1.2.4+. If you are still using Play-1.2.3 or below, please use v1.2.6a instead.

h2. <a name="started">Getting started</a>

Your first steps with PlayMorphia module and your first 5 minutes of fun.

# "PlayMorphia Features":feature
# "PlayMorphia overview":overview
# "Frequently Asked Questions":faq
# %(next)"Installation and Configuration":start%
<div style="display:none">
# "Watch the screencast":http://screenr.com/
# "Five cool things you can do with PlayMorphia":5things
# "Your first application —— the ‘Hello World’ tutorial":firstapp
# "Sample applications":samples
</div>

h2. <a name="guide">Tutorials -- PlayMorphia guide, adapt YABE from JPA to PlayMorphia</a>

Learn PlayMorhpia by adapting Play's YABE sample application from JPA to PlayMorphia.

This section is under construction. For the moment, check the YABE sample application released along with the plugin, read the source code, and run the test.

h2. <a name="manual">The essential documentation</a>

Everything you need to know about PlayMorphia

# "Getting started":start
## "Installation":start#install
## "Configuration":start#config
# "Main concepts":concept
## "Understand mongodb":concept#mongodb
## "Understand morphia, the Object-Document-Mapping tool":concept#morphia
## "PlayMorphia, integrate morhpia/mongodb into Play's DB model":concept#play
# "PlayMorphia model":model
## "Model basic":model#basic
## "Embedded entity":model#embed
## "Reference other models":model#reference
## "Store blob data into GridFS":model#gridfs
## "Automatic timestamp":model#timestamp
## "Create index":model#index
## "Advanced Model topics":advance#model
# "Use PlayMorphia model in your application":crud
## "Create an new model instance":crud#create
## "Read from mongodb":crud#read
## "Check if an model instance is new or existing data":crud#isnew
## "Update model":crud#update
## "Delete model":crud#delete
# "Using query":query
## "30 seconds tutorial":query#learn
## "Build MorphiaQuery object":query#build
## "Specify query criteria":query#filter
### "Text search with regular expression":query#regex
### "OR query":query#or
### "Query embedded object":query#embed
### "Query referenced object":query#ref
## "Fetch entities from MorphiaQuery":query#fetch
### "Limit the number of records returned":query#limit
### "Skip the first N number of records":query#skip
### "Sort records in the returned list":query#sort
### "Get one record only":query#get
## "Aliases of query methods":query#alias
# "Advanced topics":advance
## "Advanced PlayMorphia Models":advance#model
## "Statistics: aggregation and grouping":statistics
## "Cloud: calculate tag weight":cloud
## "Handle lifecycle events":lifecycle#event
## "Atomic update operations":update
<div style="display:none">
# "Play integration":play
## "CRUD Support":play#crud
## "Lifecycle events":play#event
## "Morphia Fixture":play#fixture
</div>

h2. <a name="reference">References</a>

# "Configuration":config
# "Annotations":annotation

