Development

From Journey



Framework

We are calling this framework Kokua. A Hawaiian word that means to work or pitch in. This framework is being designed to help you with your work, your data, and keeping it in order.

Authentication

Symfony has the build blocks for you to make your own Authentication system. Statement of Work

Registration

User registers, and may or may not need to confirm ownership of the registered email address. And Roles definitions.

cli

Actions for a CLI

  • Create
  • Modify
  • Delete
  • Promote/Demote
  • Change Password
  • Change Password & Email

table

id
username (do we really want this?)
email
email_canonical
password
salt
enabled
role
firstlogin
lastlogin
confirmation_token
password_requested_at

Roles will only be CLI capable. Every person by default gets ROLE_USER.

Confirmation

When set, the user can not log in till they have confirmed their email address.

Password Recovery

A simple form for them to enter their email address to get an email to reset their password.

Settings

Depending on how the framework is being used will create what a user sees in the settings area.

Sections

In the case of Journey, there are tabs for Kokua, Ohana, Kula, Hui, and Accounts.

Configuration

Self-populating of the fields that have control over.

Alpha

As we looked at developing this framework, we wanted to consider how data flows across the database.

We are developing the idea of an Alpha Record, a primary record we want to store data about.

People

An obvious Alpha Type is People. You have people in your system that may or may not login, that you want to track, or they want to track them selves.

Things

The second area of Alpha Type is Things. This may be Business, Ohana, Domain Name, School, Hardware, any thing that is a thing.

Connections

Connections can be used to connect people to people, things to people and things to thing.

Activities

This is a list that is going to grow. It is what activities might happen between the various Alpha.

Announcements

Schools have announcements. People have announcements. People have announcements in a school and the other people of that school get to see this.

Sharing

This is a very special area that we have developed for the Database Journey, where People belong to an Ohana and they create an even to share with others, the share will have a time and place, it will have an activity, Pot Luck, Movie Night, Open Mic. It may be for a limited number of people or unlimited. It may need to have a cost associated, and it can have a duration.

Alpha Data

What sort of data do we want to record around an Alpha Record.

Child

A Child Record is a singular piece of data.

  • Date of Birth.
  • Personal Interests.
  • Title, if any.

Information

An Information Record can have multiple items. Think of a Contact Set that holds all the contact information for a person, Cell, Email, Facebook, Skype, Instagram, basically anyway you can be in contact with them.

Addresses, all the addresses associated with this Alpha. Home Address, Delivery Address, PO Box, Street Address, Other Addresses.

Docs

An Alpha can have uploaded documents and pictures against their Record. they are split up by definable types.

Days

Days are specific to a database that needs to manage teams and days and documents.

Display Type

One thing we have not mentioned in the section above is to talk about the types of information a record may have, we have come to see that there are only six types of data.

  • 1. Text (up to 255 characters)
  • 2. Date Time
  • 3. Boolean (Yes/No, True/False)
  • 4. Integer (A non-decimal number)
  • 5. Blob (Long form-data)
  • 6. Number (Float)

A Display Type defines what the Child/Information record will contain. It may just be a type 1, so only short-form text. Or it maybe 1,2,5. Where each record can have a Title, Date, and Body Text.

When this is associated with an Information Record there is also a selection of a Sub Type, like Contact: Ph, Cell, Wk Email, Email, etc.

These can even be set up with default data, and error code.

Menu System

The Menu system takes away the need to setup Menus at the programming level for each different use of the Kokua Framework.

Menu Position

Where can Menus be?

TopLeft TopLeftCenter TopCenter TopRight TopRightCenter
LeftSide
RightSide
BottomLeft BottomLeftCenter BottomCenter BottomRight BottomRightCenter

Menu Types

These kinds of Menu Types can be in these Menu Positions above.

icon           An Icon in a Menu Position.
list           A List in a Menu Position.
menuitem       A Menu Item.
menumaster     A Menu Menu.
menusubitem    A Menu Item Sub Item.
boxes          For the Boxes visual Menu System.

DBs

In the Kokua Framework, we quickly found the need to have specialized Databases to manage subsections of a Customers's Framework.

For instance, in Journey, we have Kokua who are traveling the world looking for interesting people doing interesting things so they can come and volunteer.

While all people join Journey as Kokua, they are not travelers, but Hosts, the create an Ohana, and offer a place to sleep and a chair at the dining table in exchange for X amount of work a day.

We saw that an Ohana might be something more than just a Farm or a Family, so we developed Hui to take in the idea of an Organisation.

A Hui can be created that could be a Ministry, an Orphanage, a Large Farm, something with bigger management needs.

A Hui can then have a Transportation Database, or a Maintenance Database, or an Accommodation database. The list is expanded here.

Types

Types enable us to define the Kinds of databases we will have.

Master Records

To help with management there is a log of Master Record setup needed when a new copy of Kokua is Deployed

ART

Like Alpha previous, we have found that all databases deal with three kinds of things

Alpha (People)
Resources
Things

ART Records

like in Alpha above, a single ART record be it an Alpha, Resource or Thing, has the following Data storage abilities.

Child

A Child Record is a singular piece of data.

  • Date of Birth.
  • Personal Interests.
  • Title, if any.

Information

An Information Record can have multiple items. Think of a Contact Set that holds all the contact information for a person, Cell, Email, Facebook, Skype, Instagram, basically anyway you can be in contact with them.

Addresses, all the addresses associated with this Alpha. Home Address, Delivery Address, PO Box, Street Address, Other Addresses.

Docs

An Alpha can have uploaded documents and pictures against their Record. they are split up by definable types.

Emails

A list of emails that can be sent to a Alpha or a Resource

Forms

Forms that can be applied to an Alpha

Actions

An Action is a Patron who is Active. A Driver who needs a Driving Test. A Reservation that is Abandoned or Billable. A Room that is Occupied.

Testing

Audit

SOW

Statement of Work

Deployment

Deployment


Learn More

Category

Category:Websites | Category:Development | Category:Help