Permalink
Browse files

Added initial files from moqui/mantle

  • Loading branch information...
jonesde committed Jan 24, 2016
1 parent f167d4a commit b7e6013e181eb9d3f2957885da9028195d11d19d
View
72 AUTHORS
@@ -0,0 +1,72 @@
Mantle Business Artifacts (http://github.com/moqui/mantle)
This software is in the public domain under CC0 1.0 Universal plus a
Grant of Patent License.
To the extent possible under law, the author(s) have dedicated all
copyright and related and neighboring rights to this software to the
public domain worldwide. This software is distributed without any
warranty.
You should have received a copy of the CC0 Public Domain Dedication
along with this software (see the LICENSE.md file). If not, see
<http://creativecommons.org/publicdomain/zero/1.0/>.
===========================================================================
Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
To the best of my knowledge and belief, my contributions are either
originally authored by me or are derived from prior works which I have
verified are also in the public domain and are not subject to claims
of copyright by other parties.
To the best of my knowledge and belief, no individual, business,
organization, government, or other entity has any copyright interest
in my contributions, and I affirm that I will not make contributions
that are otherwise encumbered.
Signed by git commit adding my legal name and git username:
Written in 2010-2016 by David E. Jones - jonesde
Written in 2014-2015 by Solomon Bessire - sbessire
Written in 2012-2015 by Sam Hamilton - samhamilton
Written in 2014-2015 by Yao Chunlin - chunlinyao
Written in 2014-2015 by Abdullah Shaikh - abdullahs
Written in 2015-2015 by Jens Hardings - jenshp
Written in 2015- by Dony Zulkarnaen - donniexyz
Written in 2015 by Anton Akhiar - akhiar
===========================================================================
Grant of Patent License
I hereby grant to recipients of software a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
this section) patent license to make, have made, use, offer to sell, sell,
import, and otherwise transfer the Work, where such license applies only to
those patent claims licensable by me that are necessarily infringed by my
Contribution(s) alone or by combination of my Contribution(s) with the
Work to which such Contribution(s) was submitted. If any entity institutes
patent litigation against me or any other entity (including a cross-claim
or counterclaim in a lawsuit) alleging that my Contribution, or the Work to
which I have contributed, constitutes direct or contributory patent
infringement, then any patent licenses granted to that entity under this
Agreement for that Contribution or Work shall terminate as of the date such
litigation is filed.
Signed by git commit adding my legal name and git username:
Written in 2010-2016 by David E. Jones - jonesde
Written in 2014-2015 by Solomon Bessire - sbessire
Written in 2014-2015 by Yao Chunlin - chunlinyao
Written in 2015-2015 by Jens Hardings - jenshp
Written in 2015 by Dony Zulkarnaen - donniexyz
Written in 2012-2015 by Sam Hamilton - samhamilton
Written in 2015 by Anton Akhiar - akhiar
View
@@ -0,0 +1,200 @@
Because of a lack of patent licensing in CC0 1.0 this software includes a
separate Grant of Patent License adapted from Apache License 2.0.
===========================================================================
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.
===========================================================================
Grant of Patent License
"License" shall mean the terms and conditions for use, reproduction, and
distribution.
"Licensor" shall mean the original copyright owner or entity authorized by
the original copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other
entities that control, are controlled by, or are under common control with
that entity. For the purposes of this definition, "control" means (i) the
power, direct or indirect, to cause the direction or management of such
entity, whether by contract or otherwise, or (ii) ownership of fifty
percent (50%) or more of the outstanding shares, or (iii) beneficial
ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source,
and configuration files.
"Object" form shall mean any form resulting from mechanical transformation
or translation of a Source form, including but not limited to compiled
object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form,
made available under the License, as indicated by a copyright notice that
is included in or attached to the work.
"Derivative Works" shall mean any work, whether in Source or Object form,
that is based on (or derived from) the Work and for which the editorial
revisions, annotations, elaborations, or other modifications represent, as
a whole, an original work of authorship. For the purposes of this License,
Derivative Works shall not include works that remain separable from, or
merely link (or bind by name) to the interfaces of, the Work and
Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original
version of the Work and any modifications or additions to that Work or
Derivative Works thereof, that is intentionally submitted to Licensor for
inclusion in the Work by the copyright owner or by an individual or Legal
Entity authorized to submit on behalf of the copyright owner. For the
purposes of this definition, "submitted" means any form of electronic,
verbal, or written communication sent to the Licensor or its
representatives, including but not limited to communication on electronic
mailing lists, source code control systems, and issue tracking systems that
are managed by, or on behalf of, the Licensor for the purpose of discussing
and improving the Work, but excluding communication that is conspicuously
marked or otherwise designated in writing by the copyright owner as "Not a
Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on
behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
Each Contributor hereby grants to You a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
this section) patent license to make, have made, use, offer to sell, sell,
import, and otherwise transfer the Work, where such license applies only to
those patent claims licensable by such Contributor that are necessarily
infringed by their Contribution(s) alone or by combination of their
Contribution(s) with the Work to which such Contribution(s) was submitted.
If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or
contributory patent infringement, then any patent licenses granted to You
under this License for that Work shall terminate as of the date such
litigation is filed.
View
@@ -0,0 +1,77 @@
TODO:
Maybe do, maybe not:
-? Product Config to OrderItemSubItem (what about use in ShoppingList and under OrderItem?)
-? Split OrderAdjustment into OrderTaxCharge, OrderShippingCharge, OrderAdjustment (or OrderDiscount, OrderOtherCharge like OAGIS)
-? Change TaxAuthority to single pk for easier fks (use geo ID? no, a single geo can have more than one tax authority;
use party ID? no, a single authority may cover multiple jurisdictions (though not as likely...))
For later, after add of more store config entities:
- Support multiple payment processors per store (after migrate ProductStorePaymentSetting)
- Cleanup/reorg ProductStoreShipmentMeth, ShipmentCostEstimate, etc (maybe change to the rule condition/action pattern?)
- (later, once we get into some service impl for this) Redo Accommodation* entities based on travel industry model in book 2
- Get rid of (and replace as needed) TemporalExpression; change to kron string
==================
DONE:
- Move most *Type entities to Enumeration values (update seed data, referring
entities, remove *Type) (after this remove all remaining hasTable fields)
- Rename *Role entities to *Party
- Remove *Attribute and *TypeAttr entities
- Remove view-entities (not part of base data model)
- Remove various entities that are specific to a particular feature implementation and not a generic concept
- Remove all status history (*Status) and just using audit on the statusId field
- Remove all references to Survey, Content, etc (maybe point to a contentLocation)
- Remove all createdDate, createdByUserLogin, lastModifiedDate, lastModifiedByUserLogin fields (use framework defaults, audit-log)
- Make prefixes consistent (no suffixes), ie toPartyId instead of partyIdTo, etc
- Change most currencyUomId fields to name that better matches related field(s)
- ProductPrice add quantity breaks, change PK to single field sequenced
- Get rid of QuantityBreak and use the two simple fields instead in each place used
- Make Return more like Invoice (ie no adjustment, just use items for everything)
- CustRequest to Request
- PartyRelationship simplify (single sequenced ID)
- Add PartyIdentification entity, get rid of various fields and other entities (maybe even PartyTaxAuthority...)
- Change GoodIdentification to ProductIdentification
- Replace CustomTimePeriod with TimePeriod
- Combine PartyContactMechPurpose and PartyContactMech (remove, only use entity with purpose, name PartyContactMech)
- Change PartyGroup back to Organization (more consistent with DMRB)
- Instead of redundant fields on AgreementTerm, OrderTerm, InvoiceTerm, just refer to single SettlementTerm everywhere
- FinAccount to FinancialAccount
- Add Telecom ContactMech in addition to the Postal ContactMech for PaymentMethod, move IDs to PaymentMethod instead of sub-tables
- Trim down big entities like Product, WorkEffort, etc; for groups of similar fields use a more normalized structure
- Review all extend-entity, updates to base on Moqui framework entities
- Agreement - make price list easier/cleaner
- Get rid of NoteData, put directly on various *Note entities
- Change all relationships to PartyRole to be type one-nofk (or remove); use plain one for Party and RoleType
- Review all UserLogin, move to UserAccount or eliminate reference
- Review all entities with large PKs (esp 4+ fields)
* Payment Related Changes
- For blacklist/fraud add evidence entity and related to blacklisted records; consider trust level on ContactMech
(currently on PartyContactMech where it is more difficult to query but denotes which party is blacklisted)
* Product Related Changes
- Product clean up: move dimensions to new entity, remove content fields, etc
- Cleanup Product Config entities, small refinements
- Get rid of ProdCatalog*, rework it to ProductStoreCategory, ie directly associate to the store
- Get rid of optional ProductFeature concept (conf/etc products much better model)
- Split out price details from SupplierProduct to SupplierProductPrice
- Make ProductPrice more flexible with from/to (or vendor/customer) partyId fields, and merge/replace
SupplierProductPrice and AgreementItemProduct with this more flexible entity
- Merge Asset and InventoryItem
- Rework PhysicalInventory and InventoryVariance to simplify, reduce dependency on Asset
* Order Related Changes
- Get rid of OrderType, use status for ShoppingList and Quote (Proposed, Requested, Accepted, ...)
- OrderHeader -> OrderPart -> OrderItem; move various things from header and item to "part" which goes between for flexibility without minimal redundancy
- Change OrderItemShipGrpInvRes to InventoryReservation, change PK to single field sequenced
- Change Quote to be other status of Order
- Get rid of OrderPaymentPreference, just use expanded Payment entity
- Merge ShoppingList into Order... kind of like quote (except doesn't usually status change into an order, often is
copied into order and remains, or certain items are moved to an order and rest remain)
- Instead of OrderItemType, OrderAdjustmentType, InvoiceItemType, ReturnItemType just use Shared ItemType everywhere
View
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://moqui.org/xsd/moqui-conf-1.6.xsd"
name="mantle-udm" version="1.2.1">
<!-- no dependencies -->
</component>
Oops, something went wrong.

0 comments on commit b7e6013

Please sign in to comment.