Drupal conf moscow 2012. pavel prischepa. business friendly drupal

Preview:

Citation preview

Business-Friendly Drupal

Project manageri20.bizprischepa.p@i20.biz

Pavel Prischepa

Agenda

1. Drupal means business

2. Business application framework

3. Registers, documents, reports

4. Conclusion

Drupal means business

● Drupalcon Denver 2012 ● Drupal Business Days Helsinki 2011 ● Drupal Business Summit Chicago 2010

Business questions

● How can I start using e-commerce? ● How can I reduce my website costs? ● How can I make my site easier to use? ● How can I integrate my existing systems? ● How can I get a larger ROI?

Business questions

UbercartCommerce...

?

Business application framework

What is framework?

Do you need this? Do you've the framework?

What is framework

This is framework

This is framework

framework too

Not a framework

Components

Documents Registers Reports

Documents

An analogue of real-world business documents. ● Invoice ● Bill of lading ● Receipt ● ...

Common fields

● Date ● Number: ST-00583 ● Kind ● Comment

Drupal 7 Entity

Commit mechanism

Commit

Revert

CommittedDraft

hook_document_commit()

hook_document_revert()

Registers

Multi-dimensional data storage. ● Stock ● Sales ● Settlement account ● ...

Ctools plugin

Register types

Info key = value

History key = value + history

Movement movements

Remnant movements + remnants

Accounting accounting records

Stock register

Stock

Article

QuantitySum

Resources:Dimensions:

Stock register movements

Date Stock Article Quantity Sum2012-03-01 S1 A 10 100

2012-03-02 S1 A 5 50

2012-03-03 S2 B 8 80

Stock register remnants

Date Stock Article Quantity Sum2012-03-31 S1 A 15 150

2012-03-31 S2 B 8 80

Stock register contents

Stock Article Quantity SumS1 A 15 150

S2 B 8 80

MayApril June

Stock remnants

Stock contents

Stock register scheme

MayApril June

Stock remnants

April remnants

Stock register scheme

+ Movements

20.05

Documents + Registers

Hook commit

$register = register_get('stock'); $register->addMovement(array(

'date' => $doc->date,'stock' => $doc->stock_id,'article' => $doc->article_id,'quantity' => $doc->quantity,'sum' => $doc->sum,

));

Hook revert

Date Doc ID Stock Article Quantity Sum

2012-03-01 8 S1 A 10 100

2012-03-02 12 S1 A 5 50

2012-03-03 15 S2 B 8 80

Reports

● Traditional reports ● OLAP cubes

Conclusion

1. Lower total cost of ownership

2. Rapid development, Higher quality

3. Flexible

4. Ready for integration (Commerce, Ubercart)

5. New possibilities: ERP, HRM, ...

Current state

Dev version:

Documents 60% Registers 70% Reports 30%

Roadmap

Documentation Unit test Drupal kits

Integration with:Commerce1C, Client-bank systems

Thank you for your attention

Project manageri20.bizprischepa.p@i20.biz

Pavel Prischepa