cliftonc / calipso Goto Github PK
View Code? Open in Web Editor NEWCalipso is a simple NodeJS content management system based on Express, Connect & Mongoose.
Home Page: calip.so
Calipso is a simple NodeJS content management system based on Express, Connect & Mongoose.
Home Page: calip.so
Enable versioning of content on edit, ensure that you can have a published version, edit a new version, later publish.
See history of edits, with diff (bonus!).
Has anyone ever taken a look at symphony cms (not to be confused with symfony framework)? I feel like their UI is actually really well laid out. It might be worth just taking a look at how they have things configured there to get some ideas.
To see the admin, you'll need to install a build.
Complete the media module, enable uploading of images, videos - extraction of basic metadata and descriptions - enable them to then be used within content pages or to construct galleries (extra - may split the gallery piece out into another issue as is potentially a lot of work).
$ /usr/local/calipso$ node app
node.js:183
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'hooks'
at Function._resolveFilename (module.js:322:11)
at Function._load (module.js:267:25)
at require (module.js:367:19)
at Object. (/usr/local/calipso/node_modules/mongoose/lib/mongoose/document.js:15:13)
That after doing an npm install in /calipso
I see a "hooks" file in other projects but not around node, npm, or calipso. What might I be missing?
Thanks
Jack
Just wiped the db and did another install - and didn't appear to see an admin user/pass displayed this time? What is the default? admin user is admin, but password? Perhaps that needs adding to the readme, or the install instructions on the site.
I can't log in :/
when in the admin and you try to allow file logging the server crashes because there is no "logs/calipso.log"
we need to either create that upon save or include it in the master branch
I've noticed cleanSlate theme at least, and possibly other places, where 'right' is used as the name of a region for block content. Use of 'left' and 'right' for any column is best avoided if there is any possibility of using RTL languages like arabic, where 'right' content often ends up on the left of the page, and 'left' on the right.
At least, it makes my head hurt.
It's better to use 'first' and 'second', or other terms that refer to source order 'content prefix' etc.
Ability to add any fields to content based on content type. This could be configured in the content type, and initially provided as a JSON structure that describes the fields (as per a mongoose schema). This should be possible to do quite dynamically as any structure can be appended to the 'meta' object (and newer versions of mongoose allow for more dynamic schemas).
This is low priority, but....
cliftonc@clifton-laptop:/var/www/tmp$ git clone [email protected]:cliftonc/calipso.git
could (should?) be
/var/www/tmp$ git clone [email protected]:cliftonc/calipso.git
or even
$ git clone [email protected]:cliftonc/calipso.git
also, this way, we don't all know your username and your machine name ;)
Make user management secure (hashed passwords etc.) and also pluggable re. using facebook / twitter accounts.
Broken out from #3, develop addons (or a new module?) that enables integration of user accounts and login with facebook and twitter (and any other oauth style provider).
Should the install script really be failing if one of the "key" modules is installed system-wide but not locally in code-base?
I'm referring to the "quick check of modules" section towards the end of the script:
https://github.com/jzacsh/calipso/blob/master/bin/install.sh#L42
If not, I was thinking this would be a quick patch to query npm and check if the module is installed system-wide.
Contrib module - use a map reduce function to write a small module (like tag cloud or taxonomy) that uses the published dates of content to build an archived menu tree that can be included on blog layouts.
create and authors file inside of master to identify those who are contributing to this project
Error message like this: Native bson parser not compiled, please compile or avoud using native_parser=true, anyone can help?
Refactor menus (the admin menus are all primary / secondary at the moment).
Enable tabs (perhaps not using the quite heavy jQuery UI Tabs?) or an accordion to ensure that complex forms can be layed out in a cleaner way if the entire form is displayed on a single page.
Thinking of the admin page at first glance, but later the content edit form as well.
Need to write a simple cluster mode for the scheduler to ensure that only one scheduler is ever in control in cluster mode, could be an interesting excercise re. NodeJS support for multi-cast among members of a cluster or a use of socket.io perhaps?
Create a module (?) expect not to be part of core, that enables the construction of multi-step forms, including the ability to save state and support both a fully ajax switch as well as page redirects.
Explain standards and approach to translation, and language files.
When saving content with tagcloud module installed, browser spins but doesn't complete request. It seems content is actually saved though. The below exception is in the logs. I am running node 0.4.9 and Calipso 0.1.1. Screenshot at http://i.imgur.com/DrHqG.png.
Uncaught exception: TypeError: Cannot read property 'author' of nullTypeError: Cannot read property 'author' of null
at /home/b/dev/calipso/modules/core/content/content.module.js:636:52
at /home/b/dev/calipso/node_modules/mongoose/lib/mongoose/query.js:804:22
at [object Object]. (/home/b/dev/calipso/node_modules/mongoose/support/node-mongodb-native/lib/mongodb/collection.js:741:5)
at [object Object].emit (events.js:67:17)
at [object Object]. (/home/b/dev/calipso/node_modules/mongoose/support/node-mongodb-native/lib/mongodb/connections/server.js:97:12)
at [object Object].emit (events.js:64:17)
at Socket. (/home/b/dev/calipso/node_modules/mongoose/support/node-mongodb-native/lib/mongodb/connection.js:91:16)
at Socket.emit (events.js:64:17)
at Socket._onReadable (net.js:673:31)
at IOWatcher.onReadable as callback
Readme should maybe indicate that node-expat requires libexpat-dev (sudo apt-get install libexpat1-dev)
Create tests for all core libraries, need to create second issue to create a web based module to run the tests - especially enabling test execution for modules.
Complete the content scheduling function (e.g. you can specify a time that content set to scheduled will automatically become published).
Need to come up with a bulletproof installation process (like npm?) that ensures that people can get up and running very quickly - ease of use to get started is critical.
Package it all up into npm.
Complete the user role model (partially done), to allow creation of roles, allow users to be mapped to roles (more than one), dealing with changes.
Refactor content library to allow content types (e.g. blog, page) and manage fields linked to content type.
Hi. i write on calip.so about my error with start.
that's what we have, nothing is certain. can tell where to look in detail.
v0.4.7
1.0.6
NODE_PREFIX: /usr/local
NODE_CFLAGS: -rdynamic -D_GNU_SOURCE -DHAVE_CONFIG_H=1 -pthread -m32 -g -O3 -DHAVE_OPENSSL=1 -DEV_FORK_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_MULTIPLICITY=0 -DX_STACKSIZE=65536 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DEV_MULTIPLICITY=0 -DHAVE_FDATASYNC=1 -DPLATFORM="linux" -D__POSIX__=1 -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -DNDEBUG -I/usr/local/include/node
Illegal instruction
First off, this project is great! :) I look forward to seeing where it goes and to contributing where I can find time.
One of the first things I noticed while going through is that the admin modules page has no way of really telling the user what a module does. So I started digging.
I found that I can add in a property to the form_field called 'instruct' and this will by default be printed out with the field in a <p>
tag.
From line 300 in Forms.js:
(field.instruct ? '<p class="instruct">' + t(field.instruct) + '</p>' : '') +
I have two requests related to this.
<p>
tag to a <div>
?If in agreement, I would love to make this my first pull request :)
It appears, at a quick glance that your passwords are stored in plain text. I'd recommend using my bcrypt lib, or at least something, to encrypt user passwords. :)
Refactor all the forms in use to make use of a common form library to generate the markup.
Since the introduction of connect-gzip there have been a number of instances where calip.so has gone down, investigate.
Write a translation site in french by adding language.fr.js file in i8n directory.
When using MongoHQ as the mongo data source, the database check in app.js fails to connect (incorrectly), displays an error but calipso still loads.
Add github like editor that enables content to be stored (and then rendered) in multiple formats (markdown, textile, html etc.).
This will make it easier to move configuration between environments, and allow for a build script (e.g. Jenkins, webistrano) to configure it based on tokens by environment in future.
So. If the example 'template' module has:
/**
* Every page block function
*/
function allPages(req, res, template, block, next) {
var myVariable = "Hello World on every page!";
var item = {
id: "NA",
type: 'content',
meta: {
variable: myVariable
}
};
calipso.theme.renderItem(req, res, template, block, {
item: item
},next);
};
Why doesn't a block with "Hello World on every page!" appear on every page?
I started work on an admin toolbar module, https://github.com/adrinux/calipso/tree/module-toolbar but can't fathom why a block isn't appearing, despite looking at core/community modules.
Hi guys,
I found out about NodeJS a few days ago and I like it. I'm planning to get involved in a project and I'm still looking around. When I logged with the admin acount I got the following exception:
26 Jun 12:23:15 - info: Content types module installed ...
26 Jun 12:23:15 - info: User module installed ...
Uncaught exception: TypeError: Cannot read property 'isAdmin' of undefinedTypeError: Cannot read property 'isAdmin' of undefined
at /home/ddragostinov/Node/calipso/modules/core/user/user.module.js:595:34
at Array.forEach (native)
at isUserAdmin (/home/ddragostinov/Node/calipso/modules/core/user/user.module.js:594:14)
at createUserSession (/home/ddragostinov/Node/calipso/modules/core/user/user.module.js:606:17)
at /home/ddragostinov/Node/calipso/modules/core/user/user.module.js:566:13
at /home/ddragostinov/Node/calipso/node_modules/mongoose/lib/mongoose/query.js:794:7
at model.init (/home/ddragostinov/Node/calipso/node_modules/mongoose/lib/mongoose/document.js:147:5)
at /home/ddragostinov/Node/calipso/node_modules/mongoose/lib/mongoose/query.js:792:12
at [object Object]. (/home/ddragostinov/Node/calipso/node_modules/mongoose/support/node-mongodb-native/lib/mongodb/collection.js:462:35)
at [object Object].emit (events.js:67:17)
^Cddragostinov@ubuntu:~/Node/calipso$ node app.js
The second time i ran the app it worked fine.
After setting up mongo and running "node app", I login to localhost:3000, and it says it created user: user and password: password, but when I try to login, it doesn't work.
Form / Group Discussion -> Forum / Group Discussion
Add ability to map the fields returned from a feed to fields in a content type (either by passing the mapping in as part of the json args, or later creating a UI to do the mapping).
Default theme to be created.
Caused the right sidebar to appear unrendered when I started Calipso (and server output warnings to the console).
I installed Calipso for a second time today (my own fork this time rather than a clone), and just wanted to share the issues I had to resolve in order to get app.js to run on my machine:
After fixing the above two issues, I was able to run 'node app' successfully. I'm not sure if this happens in all cases, but I just wanted to make it known and/or help others that are having similar issues.
What the subject says - I followed the quickstart, had to manually npm install request and pool... other than that no problems.
While going through creating a user, I accidentally clicked "delete" and was not prompted with anything confirming my action. This ultimately deleted the "admin" account (luckily I had created another admin account right before this happened). It doesn't help that the "delete" link is the first link to click in the user management area. I think it would be better away from the nav, even in a different part of the page so it's not so easily clickable (which in this case would be a good thing).
Ok, the biggest issue atm is installation, and much of the problem is the way that core has (already!) grown too big for its boots, so this issue is the new milestone for a 0.2 release:
Additionally, deliver:
Comments before I break this up into features?
Add a permissions model to modules, to enable exposure of permission groups.
Modify module router to enable a route to be linked to permissions.
Create an admin UI to enable mapping between user roles and permissions (e.g. tick).
Create install script that defaults all of the above.
Documentation about how themeing works.
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.