allcount / allcountjs Goto Github PK
View Code? Open in Web Editor NEWRapid application development framework for Node.js
Home Page: http://allcountjs.com
License: MIT License
Rapid application development framework for Node.js
Home Page: http://allcountjs.com
License: MIT License
TypeError: Cannot read property 'id' of null
at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/referential-integrity.js:15:84
at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/storage-driver.js:352:28
at Object.exports.inScope (/home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:136:18)
at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/storage-driver.js:351:34
at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:209:86
at Object.exports.restoreScope (/home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:104:18)
at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:209:36
at _fulfilled (/home/allcountjs/app/allcountjs/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/home/allcountjs/app/allcountjs/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/home/allcountjs/app/allcountjs/node_modules/q/q.js:749:13)
at /home/allcountjs/app/allcountjs/node_modules/q/q.js:509:49
at flush (/home/allcountjs/app/allcountjs/node_modules/q/q.js:108:17)
at wrapped (/home/allcountjs/app/allcountjs/node_modules/newrelic/lib/transaction/tracer/index.js:157:28)
at wrapped (/home/allcountjs/app/allcountjs/node_modules/newrelic/lib/transaction/tracer/index.js:157:28)
at process._tickDomainCallback (node.js:492:13)
at process.wrappedFunction (/home/allcountjs/app/allcountjs/node_modules/newrelic/lib/transaction/tracer/index.js:271:51)
Don't resolve already persisted references in order to avoid unnecessary errors for removed referenced objects.
Allow to define function that determines field visibility as follows
foo: Fields.text("Some text").isVisible(function (Entity) { return Entity.firstName && Entity.lastName } )
Currentry it seems that admin interface requires active mouse usage.
Imagine the situation that user want to input some 50 items in admin interface. It's almost impossible without keyboard only especially for pressing "Save" and "Create" buttons.
Maybe it could be useful for many of potential admin users to optimize tab order of page controls and make other tunes for keyboard-only convenient data input.
In order to have ability to reconstruct local dates.
Support CRUD hooks invocation before and after entity create, update or delete defined as follows
A.app({
entities: {
Student: {
...,
beforeSave: function (Crud, NewEntity, OldEntity) {
NewEntity.status = 'new';
},
afterCreate: function (NewEntity) { ... }
}
}
});
{ $and: 1 }
is sent as key while ensuring index
Allow to define function that determines field's isReadOnly
attribute as follows
foo: Fields.text("Some text").readOnly(function (Entity) { return Entity.isSealed } )
It's rather question then issue. Please correct me if there is better place to put that ones.
It seems that allcountjs implements "simple foreign keys" stragegy of storing one-to-many related data (like Order - OrderItems).
Is there are (or not) any plans to support other relationship options like "using an array of foreign keys" or "using embedded entities" in other products (http://ng-admin-book.marmelab.com/doc/Relationships.html)?
Thanks.
Dear Supporters,
before all, I would like to say that this framework is a state of the art software.
I have a good idea on how to include business logic, instead of using complex BPM processes, for RAD, a simple state machine could handle all the processes states. Below two of them:
https://github.com/jakesgordon/javascript-state-machine
http://machina-js.org/
http://www.shopify.com/technology/3383012-why-developers-should-be-force-fed-state-machines
In future works, think on how beautiful would be a data-analytics plugin, like kibana, to track and monitor all the transitions.
After following the steps here: https://github.com/allcount/allcountjs
The server crashes frequently.
The MongoDB database was created correctly
maverick:allcountjs-helloworld nomad$ allcountjs --git file:///Users/nomad/allcountjs-helloworld --db mongodb://localhost:27017/allcountjs-helloworld
Application server for "file:///Users/nomad/allcountjs-helloworld" listening on port 9080
/Users/nomad/.node/lib/node_modules/allcountjs/node_modules/q/q.js:126
throw e;
^
Error: Command failed: /bin/sh -c git log HEAD^..HEAD
fatal: ambiguous argument 'HEAD^..HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'
at ChildProcess.exithandler (child_process.js:751:12)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1015:16)
at Socket.<anonymous> (child_process.js:1183:11)
at Socket.emit (events.js:107:17)
at Pipe.close (net.js:485:12)
I installed "q" globally to see if it will help
EDIT:
It looks like the path for the git repo is the issue
allcountjs --git file:///Users/nomad/allcountjs-helloworld --db mongodb://localhost:27017/allcountjs-helloworld
This is what I used - it launches but fails soon
Embedded doc should be added so a document could have many embedded documents. An example would be a project management application where a project is a doument and the assigned tasks are sub entities or as said embedded documents.
Fields.relation(name, relationEntityTypeId, backReferenceField)
$ allcountjs --git file://helloworld-app --db mongodb://localhost:27017/helloworld-app-db
Failed to fetch "file://helloworld-app". Trying to use as regular directory.
$ allcountjs --git file://helloworld-app.js --db mongodb://localhost:27017/helloworld-app-db
Failed to fetch "file://helloworld-app.js". Trying to use as regular directory.
The app configuration file fails to load.
current directory is $ allcountjs-helloworld
Probably need to upgrade mongoose version.
Is this compatible with node v0.12.0?
Please add an autoincrement for fields like userid.auto()
Support form field values validation that defined as follows
A.app({
...,
entities: function(Fields) {
return {
Student: {
...,
validate: function (Entity) {
if (Entity.classHours < 100 || Entity.classHours > 500) {
return {classHours: 'Should be in range from 100 to 500'};
}
}
}
}
}
});
You see that inputs will be hided and new item doesn't added to list or database.
Need to decide what to do: fail or merge?
I would like to create an admin tool for a rest api system that I am building in node.
So I would like admins to add companies and users. However, I would like to add a password field for users that will be encrypted when it is stored.
This is what I came up with so far:
A.app({
appName: "Admin Tool",
menuItems: [
{
name: "Companies",
entityTypeId: "company",
},
{
name: "Users",
entityTypeId: "users",
},
],
entities: function(Fields) {
return {
company: {
fields: {
name: Fields.text("Name"),
address1: Fields.text("Address1"),
address2: Fields.text("Address2"),
city: Fields.text("City"),
state: Fields.text("State"),
zip: Fields.text("Zip")
},
referenceName: "name",
},
users: {
fields: {
username: Fields.text("User Name"),
email: Fields.text("email"),
company: Fields.fixedReference("company", "company"),
password: Fields.text("Password")
}
}
}
}
});
Is it possible to add a hook so that I can encrypt the password using a nodejs function that I provide? How would I go about doing this?
So I guess Sign in form should say something if user pass wrong username / password. It give user additional information and user can describe problem with UI more detail.
Return response after some timeout and show state of running action somewhere.
It appears that version 1.0.1 of BodyParser is no longer available as I am getting ENOENT errors on attempted install of both the allcountjs file (when it hit that dependency) AND when I try to install that version of BodyParser itself. I'm getting this from multiple machines on different networks (and different OSes). I can install the latest version of BodyParser, just not this or 1.0.2.
This is on node 0.10.38 and NPM 2.9.0
We need to implement password recovery feature. I assume it should look like "Forgot your password?" hyperlink under the "sign in" button on the /login page.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.