Understanding of Source Code Of Aggregate

Hi there,

I am quiet confused with Source code of ODK Aggregate. I have imported
Aggregate from my eclipse successfully. I don't found the way to follow.
Can you please suggest me Where to start reading code?? What should I
consider as first Entry Point? Have you provided any documentation that
describes the path to understand whole packages of classes??

Any help will be highly appreciated. Thank you.

Sincerely,
Palak.

Start by reading every wiki containing 'Aggregate' here:
http://code.google.com/p/opendatakit/w/list

To understand the database, I recommend starting with an empty server,
looking at its database structures, then uploading a simple full-featured
form (e.g., GeoTagger v2), looking at what gets created, and then uploading
a data instance, and seeing what changes.

w.r.t. the code repository, the 3 branches of importance are:

  • default -- current stable tip of whatever we have released
  • v1_3 -- the 1.3.x product releases. These are stable except
    immediately before releases. Use the tags to ensure stability.
  • ui_experiment -- unstable actively developed code

You should generally use the 'default' or 'v1_3' branches.

The code uses GWT for the user interface.

  • In general, classes within a 'client' package are compiled into
    Javascript by GWT and run within the browser.
  • In general, classes within a 'common' package are shared between the
    Javascript (browser) and Java (server) code.
  • All other classes are server-side Java code.

w.r.t. the layout of the source code, we have tried to separate the
'framework' code from the 'application' code.

org.opendatakit.aggregate -- code specific to ODK Aggregate

  • The Submission class is the data structure holding a submitted
    filled-in form
  • The Form, FormInfo, etc. classes persist and model different aspects
    of a Form definition.
  • The 'parser' package isolates all the code specific to JavaRosa (this
    code is shared with ODK Briefcase).
  • The 'server' package contains the GWT server endpoints
  • The 'servlet' package holds the servlets (raw HTTP servlets) used by
    ODK Aggregate.
  • All ODK Tables server functionality is isolated to the 'odktables'
    package.
  • Other packages refer to different functional aspects of the software
    (e.g., formatters, background tasks, publishers to external services)

org.opendatakit.common -- framework code that should be reusable in other
web applications

  • code that handles user authentication, security grants /
    permissions.
  • data modeling and persistence interfaces for interacting with
    MySQL, PostgreSQL, BigTables
··· On Mon, Aug 5, 2013 at 4:51 AM, Palak Darji wrote:

Hi there,

I am quiet confused with Source code of ODK Aggregate. I have imported
Aggregate from my eclipse successfully. I don't found the way to follow.
Can you please suggest me Where to start reading code?? What should I
consider as first Entry Point? Have you provided any documentation that
describes the path to understand whole packages of classes??

Any help will be highly appreciated. Thank you.

Sincerely,
Palak.

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Hey, Thank you so much for your kind help, Mitch !! Thanks again...

··· > >

Thank Mitch i really appreciated with your Post

Kindly help me to understand ODK collect source code, please give me same
way instruction where to start reading.

··· On Monday, August 5, 2013 11:24:27 PM UTC+5:30, Mitch wrote: > > Start by reading every wiki containing 'Aggregate' here: > http://code.google.com/p/opendatakit/w/list > > To understand the database, I recommend starting with an empty server, > looking at its database structures, then uploading a simple full-featured > form (e.g., GeoTagger v2), looking at what gets created, and then uploading > a data instance, and seeing what changes. > > w.r.t. the code repository, the 3 branches of importance are: > > - default -- current stable tip of whatever we have released > - v1_3 -- the 1.3.x product releases. These are stable except > immediately before releases. Use the tags to ensure stability. > - ui_experiment -- unstable actively developed code > > You should generally use the 'default' or 'v1_3' branches. > > The code uses GWT for the user interface. > > - In general, classes within a 'client' package are compiled into > Javascript by GWT and run within the browser. > - In general, classes within a 'common' package are shared between the > Javascript (browser) and Java (server) code. > - All other classes are server-side Java code. > > w.r.t. the layout of the source code, we have tried to separate the > 'framework' code from the 'application' code. > > org.opendatakit.aggregate -- code specific to ODK Aggregate > > - The Submission class is the data structure holding a submitted > filled-in form > - The Form, FormInfo, etc. classes persist and model different aspects > of a Form definition. > - The 'parser' package isolates all the code specific to JavaRosa > (this code is shared with ODK Briefcase). > - The 'server' package contains the GWT server endpoints > - The 'servlet' package holds the servlets (raw HTTP servlets) used by > ODK Aggregate. > - All ODK Tables server functionality is isolated to the 'odktables' > package. > - Other packages refer to different functional aspects of the software > (e.g., formatters, background tasks, publishers to external services) > > > org.opendatakit.common -- framework code that should be reusable in other > web applications > > - code that handles user authentication, security grants / > permissions. > - data modeling and persistence interfaces for interacting with > MySQL, PostgreSQL, BigTables > > > > On Mon, Aug 5, 2013 at 4:51 AM, Palak Darji <palak...@gmail.com wrote: > >> Hi there, >> >> I am quiet confused with Source code of ODK Aggregate. I have imported >> Aggregate from my eclipse successfully. I don't found the way to follow. >> Can you please suggest me Where to start reading code?? What should I >> consider as first Entry Point? Have you provided any documentation that >> describes the path to understand whole packages of classes?? >> >> Any help will be highly appreciated. Thank you. >> >> Sincerely, >> Palak. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "ODK Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to opendatakit-developers+unsubscribe@googlegroups.com >> . >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > > -- > Mitch Sundt > Software Engineer > University of Washington > mitche...@gmail.com >

ODK Collect is much easier.

You want to look at the default branch. We tag each release on that branch.

All packages are under org.odk.collect.android The key files are:

activities
FormEntryActivity -- responsible for displaying a new (blank) form or
editing a saved form.
other activities are generally self-explanatory.

logic
FormController -- encapsulates JavaRosa's FormController functionality
-- so that we know what interfaces we actually use into JR.

tasks
the longer-running actions like downloadng forms, uploading forms,
deleting forms and instances, saving forms, scanning the forms directory
for changes, and loading a form or instance for processing.

views
support classes to make constructing widgets and activities easier.

widgets
the various widgets (UI constructs) used to render individual
questions.
WidgetFactory -- this decides which widget to use based upon appearance
or other fields in the XForms XML.

··· On Mon, Sep 2, 2013 at 7:39 AM, Kanhu Charan Bhol wrote:

Thank Mitch i really appreciated with your Post

Kindly help me to understand ODK collect source code, please give me same
way instruction where to start reading.

On Monday, August 5, 2013 11:24:27 PM UTC+5:30, Mitch wrote:

Start by reading every wiki containing 'Aggregate' here:
http://code.google.com/p/**opendatakit/w/listhttp://code.google.com/p/opendatakit/w/list

To understand the database, I recommend starting with an empty server,
looking at its database structures, then uploading a simple full-featured
form (e.g., GeoTagger v2), looking at what gets created, and then uploading
a data instance, and seeing what changes.

w.r.t. the code repository, the 3 branches of importance are:

  • default -- current stable tip of whatever we have released
  • v1_3 -- the 1.3.x product releases. These are stable except
    immediately before releases. Use the tags to ensure stability.
  • ui_experiment -- unstable actively developed code

You should generally use the 'default' or 'v1_3' branches.

The code uses GWT for the user interface.

  • In general, classes within a 'client' package are compiled into
    Javascript by GWT and run within the browser.
  • In general, classes within a 'common' package are shared between
    the Javascript (browser) and Java (server) code.
  • All other classes are server-side Java code.

w.r.t. the layout of the source code, we have tried to separate the
'framework' code from the 'application' code.

org.opendatakit.aggregate -- code specific to ODK Aggregate

  • The Submission class is the data structure holding a submitted
    filled-in form
  • The Form, FormInfo, etc. classes persist and model different
    aspects of a Form definition.
  • The 'parser' package isolates all the code specific to JavaRosa
    (this code is shared with ODK Briefcase).
  • The 'server' package contains the GWT server endpoints
  • The 'servlet' package holds the servlets (raw HTTP servlets) used
    by ODK Aggregate.
  • All ODK Tables server functionality is isolated to the 'odktables'
    package.
  • Other packages refer to different functional aspects of the
    software (e.g., formatters, background tasks, publishers to external
    services)

org.opendatakit.common -- framework code that should be reusable in other
web applications

  • code that handles user authentication, security grants /
    permissions.
  • data modeling and persistence interfaces for interacting with
    MySQL, PostgreSQL, BigTables

On Mon, Aug 5, 2013 at 4:51 AM, Palak Darji palak...@gmail.com wrote:

Hi there,

I am quiet confused with Source code of ODK Aggregate. I have
imported Aggregate from my eclipse successfully. I don't found the way to
follow. Can you please suggest me Where to start reading code?? What should
I consider as first Entry Point? Have you provided any documentation that
describes the path to understand whole packages of classes??

Any help will be highly appreciated. Thank you.

Sincerely,
Palak.

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit-developers+**unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
.

--
Mitch Sundt
Software Engineer
University of Washington
mitche...@gmail.com

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Is this documentation also on the wiki?

··· On Thu, Sep 12, 2013 at 5:59 PM, Mitch Sundt wrote:

ODK Collect is much easier.

You want to look at the default branch. We tag each release on that branch.

All packages are under org.odk.collect.android The key files are:

activities
FormEntryActivity -- responsible for displaying a new (blank) form or
editing a saved form.
other activities are generally self-explanatory.

logic
FormController -- encapsulates JavaRosa's FormController functionality
-- so that we know what interfaces we actually use into JR.

tasks
the longer-running actions like downloadng forms, uploading forms,
deleting forms and instances, saving forms, scanning the forms directory
for changes, and loading a form or instance for processing.

views
support classes to make constructing widgets and activities easier.

widgets
the various widgets (UI constructs) used to render individual
questions.
WidgetFactory -- this decides which widget to use based upon
appearance or other fields in the XForms XML.

On Mon, Sep 2, 2013 at 7:39 AM, Kanhu Charan Bhol kanhu.gs@gmail.comwrote:

Thank Mitch i really appreciated with your Post

Kindly help me to understand ODK collect source code, please give me same
way instruction where to start reading.

On Monday, August 5, 2013 11:24:27 PM UTC+5:30, Mitch wrote:

Start by reading every wiki containing 'Aggregate' here:
http://code.google.com/p/**opendatakit/w/listhttp://code.google.com/p/opendatakit/w/list

To understand the database, I recommend starting with an empty server,
looking at its database structures, then uploading a simple full-featured
form (e.g., GeoTagger v2), looking at what gets created, and then uploading
a data instance, and seeing what changes.

w.r.t. the code repository, the 3 branches of importance are:

  • default -- current stable tip of whatever we have released
  • v1_3 -- the 1.3.x product releases. These are stable except
    immediately before releases. Use the tags to ensure stability.
  • ui_experiment -- unstable actively developed code

You should generally use the 'default' or 'v1_3' branches.

The code uses GWT for the user interface.

  • In general, classes within a 'client' package are compiled into
    Javascript by GWT and run within the browser.
  • In general, classes within a 'common' package are shared between
    the Javascript (browser) and Java (server) code.
  • All other classes are server-side Java code.

w.r.t. the layout of the source code, we have tried to separate the
'framework' code from the 'application' code.

org.opendatakit.aggregate -- code specific to ODK Aggregate

  • The Submission class is the data structure holding a submitted
    filled-in form
  • The Form, FormInfo, etc. classes persist and model different
    aspects of a Form definition.
  • The 'parser' package isolates all the code specific to JavaRosa
    (this code is shared with ODK Briefcase).
  • The 'server' package contains the GWT server endpoints
  • The 'servlet' package holds the servlets (raw HTTP servlets) used
    by ODK Aggregate.
  • All ODK Tables server functionality is isolated to the 'odktables'
    package.
  • Other packages refer to different functional aspects of the
    software (e.g., formatters, background tasks, publishers to external
    services)

org.opendatakit.common -- framework code that should be reusable in
other web applications

  • code that handles user authentication, security grants /
    permissions.
  • data modeling and persistence interfaces for interacting with
    MySQL, PostgreSQL, BigTables

On Mon, Aug 5, 2013 at 4:51 AM, Palak Darji palak...@gmail.com wrote:

Hi there,

I am quiet confused with Source code of ODK Aggregate. I have
imported Aggregate from my eclipse successfully. I don't found the way to
follow. Can you please suggest me Where to start reading code?? What should
I consider as first Entry Point? Have you provided any documentation that
describes the path to understand whole packages of classes??

Any help will be highly appreciated. Thank you.

Sincerely,
Palak.

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit-developers+**unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
.

--
Mitch Sundt
Software Engineer
University of Washington
mitche...@gmail.com

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
If we keep uppermost in our minds the unkind and unjust acts of others, we
shall find it impossible to love them as Christ has loved us; but if our
thoughts dwell upon the wondrous love and pity of Christ for us, the same
spirit will flow out to others.

Just added 2 new pages for them...

··· On Thu, Sep 12, 2013 at 8:11 AM, Daniel Kayiwa wrote:

Is this documentation also on the wiki?

On Thu, Sep 12, 2013 at 5:59 PM, Mitch Sundt mitchellsundt@gmail.comwrote:

ODK Collect is much easier.

You want to look at the default branch. We tag each release on that
branch.

All packages are under org.odk.collect.android The key files are:

activities
FormEntryActivity -- responsible for displaying a new (blank) form or
editing a saved form.
other activities are generally self-explanatory.

logic
FormController -- encapsulates JavaRosa's FormController
functionality -- so that we know what interfaces we actually use into JR.

tasks
the longer-running actions like downloadng forms, uploading forms,
deleting forms and instances, saving forms, scanning the forms directory
for changes, and loading a form or instance for processing.

views
support classes to make constructing widgets and activities easier.

widgets
the various widgets (UI constructs) used to render individual
questions.
WidgetFactory -- this decides which widget to use based upon
appearance or other fields in the XForms XML.

On Mon, Sep 2, 2013 at 7:39 AM, Kanhu Charan Bhol kanhu.gs@gmail.comwrote:

Thank Mitch i really appreciated with your Post

Kindly help me to understand ODK collect source code, please give me
same way instruction where to start reading.

On Monday, August 5, 2013 11:24:27 PM UTC+5:30, Mitch wrote:

Start by reading every wiki containing 'Aggregate' here:
http://code.google.com/p/**opendatakit/w/listhttp://code.google.com/p/opendatakit/w/list

To understand the database, I recommend starting with an empty server,
looking at its database structures, then uploading a simple full-featured
form (e.g., GeoTagger v2), looking at what gets created, and then uploading
a data instance, and seeing what changes.

w.r.t. the code repository, the 3 branches of importance are:

  • default -- current stable tip of whatever we have released
  • v1_3 -- the 1.3.x product releases. These are stable except
    immediately before releases. Use the tags to ensure stability.
  • ui_experiment -- unstable actively developed code

You should generally use the 'default' or 'v1_3' branches.

The code uses GWT for the user interface.

  • In general, classes within a 'client' package are compiled into
    Javascript by GWT and run within the browser.
  • In general, classes within a 'common' package are shared between
    the Javascript (browser) and Java (server) code.
  • All other classes are server-side Java code.

w.r.t. the layout of the source code, we have tried to separate the
'framework' code from the 'application' code.

org.opendatakit.aggregate -- code specific to ODK Aggregate

  • The Submission class is the data structure holding a submitted
    filled-in form
  • The Form, FormInfo, etc. classes persist and model different
    aspects of a Form definition.
  • The 'parser' package isolates all the code specific to JavaRosa
    (this code is shared with ODK Briefcase).
  • The 'server' package contains the GWT server endpoints
  • The 'servlet' package holds the servlets (raw HTTP servlets) used
    by ODK Aggregate.
  • All ODK Tables server functionality is isolated to the
    'odktables' package.
  • Other packages refer to different functional aspects of the
    software (e.g., formatters, background tasks, publishers to external
    services)

org.opendatakit.common -- framework code that should be reusable in
other web applications

  • code that handles user authentication, security grants /
    permissions.
  • data modeling and persistence interfaces for interacting with
    MySQL, PostgreSQL, BigTables

On Mon, Aug 5, 2013 at 4:51 AM, Palak Darji palak...@gmail.com wrote:

Hi there,

I am quiet confused with Source code of ODK Aggregate. I have
imported Aggregate from my eclipse successfully. I don't found the way to
follow. Can you please suggest me Where to start reading code?? What should
I consider as first Entry Point? Have you provided any documentation that
describes the path to understand whole packages of classes??

Any help will be highly appreciated. Thank you.

Sincerely,
Palak.

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit-developers+**unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
.

--
Mitch Sundt
Software Engineer
University of Washington
mitche...@gmail.com

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
If we keep uppermost in our minds the unkind and unjust acts of others, we
shall find it impossible to love them as Christ has loved us; but if our
thoughts dwell upon the wondrous love and pity of Christ for us, the same
spirit will flow out to others.

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Excellent work Mitch!!!

··· On Fri, Sep 13, 2013 at 12:30 AM, Mitch Sundt wrote:

Just added 2 new pages for them...

On Thu, Sep 12, 2013 at 8:11 AM, Daniel Kayiwa kayiwadaniel@gmail.comwrote:

Is this documentation also on the wiki?

On Thu, Sep 12, 2013 at 5:59 PM, Mitch Sundt mitchellsundt@gmail.comwrote:

ODK Collect is much easier.

You want to look at the default branch. We tag each release on that
branch.

All packages are under org.odk.collect.android The key files are:

activities
FormEntryActivity -- responsible for displaying a new (blank) form or
editing a saved form.
other activities are generally self-explanatory.

logic
FormController -- encapsulates JavaRosa's FormController
functionality -- so that we know what interfaces we actually use into JR.

tasks
the longer-running actions like downloadng forms, uploading forms,
deleting forms and instances, saving forms, scanning the forms directory
for changes, and loading a form or instance for processing.

views
support classes to make constructing widgets and activities easier.

widgets
the various widgets (UI constructs) used to render individual
questions.
WidgetFactory -- this decides which widget to use based upon
appearance or other fields in the XForms XML.

On Mon, Sep 2, 2013 at 7:39 AM, Kanhu Charan Bhol kanhu.gs@gmail.comwrote:

Thank Mitch i really appreciated with your Post

Kindly help me to understand ODK collect source code, please give me
same way instruction where to start reading.

On Monday, August 5, 2013 11:24:27 PM UTC+5:30, Mitch wrote:

Start by reading every wiki containing 'Aggregate' here:
http://code.google.com/p/**opendatakit/w/listhttp://code.google.com/p/opendatakit/w/list

To understand the database, I recommend starting with an empty server,
looking at its database structures, then uploading a simple full-featured
form (e.g., GeoTagger v2), looking at what gets created, and then uploading
a data instance, and seeing what changes.

w.r.t. the code repository, the 3 branches of importance are:

  • default -- current stable tip of whatever we have released
  • v1_3 -- the 1.3.x product releases. These are stable except
    immediately before releases. Use the tags to ensure stability.
  • ui_experiment -- unstable actively developed code

You should generally use the 'default' or 'v1_3' branches.

The code uses GWT for the user interface.

  • In general, classes within a 'client' package are compiled into
    Javascript by GWT and run within the browser.
  • In general, classes within a 'common' package are shared between
    the Javascript (browser) and Java (server) code.
  • All other classes are server-side Java code.

w.r.t. the layout of the source code, we have tried to separate the
'framework' code from the 'application' code.

org.opendatakit.aggregate -- code specific to ODK Aggregate

  • The Submission class is the data structure holding a submitted
    filled-in form
  • The Form, FormInfo, etc. classes persist and model different
    aspects of a Form definition.
  • The 'parser' package isolates all the code specific to JavaRosa
    (this code is shared with ODK Briefcase).
  • The 'server' package contains the GWT server endpoints
  • The 'servlet' package holds the servlets (raw HTTP servlets)
    used by ODK Aggregate.
  • All ODK Tables server functionality is isolated to the
    'odktables' package.
  • Other packages refer to different functional aspects of the
    software (e.g., formatters, background tasks, publishers to external
    services)

org.opendatakit.common -- framework code that should be reusable in
other web applications

  • code that handles user authentication, security grants /
    permissions.
  • data modeling and persistence interfaces for interacting with
    MySQL, PostgreSQL, BigTables

On Mon, Aug 5, 2013 at 4:51 AM, Palak Darji palak...@gmail.comwrote:

Hi there,

I am quiet confused with Source code of ODK Aggregate. I have
imported Aggregate from my eclipse successfully. I don't found the way to
follow. Can you please suggest me Where to start reading code?? What should
I consider as first Entry Point? Have you provided any documentation that
describes the path to understand whole packages of classes??

Any help will be highly appreciated. Thank you.

Sincerely,
Palak.

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to opendatakit-developers+**
unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
.

--
Mitch Sundt
Software Engineer
University of Washington
mitche...@gmail.com

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
If we keep uppermost in our minds the unkind and unjust acts of others,
we shall find it impossible to love them as Christ has loved us; but if our
thoughts dwell upon the wondrous love and pity of Christ for us, the same
spirit will flow out to others.

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
If we keep uppermost in our minds the unkind and unjust acts of others, we
shall find it impossible to love them as Christ has loved us; but if our
thoughts dwell upon the wondrous love and pity of Christ for us, the same
spirit will flow out to others.