13 ms·
Dropplets - A simple database-less CMS
- robbfitzsimmons 13y agoMods - I think this should be "CMS" (content management system) instead of "CRM" (customer relationship manager), as it's a blogging tool.
- alwaysunday 13y agoThanks for catching that. Was an early morning.
- robbfitzsimmons 13y agoNo worries! It actually got me to click; I was curious how one would accomplish that for a CRM, something that is nothing but a database.
- phaer 13y agoMaybe "blogging tool" would be the correct description, a cms is should support much more than just one content type.
- yogo 13y agoExactly. From just scanning the website my impression was Wordpress without a DB dependency. Even though Wordpress is used a lot as a CMS and this might eventually take that route they are clearly pushing blogging.
- dkuntz2 13y agoNot exactly. There aren't pages, and posts are written in your text editor, and the files are "dropped" into the admin section.
- testing12341234 13y agoApparently the author would agree with you. The front page reads, "Dropplets is not a CMS, it's just for pure blogging and nothing more which is a good thing."
- d0ugal 13y agoCode - https://github.com/circa75/dropplets https://github.com/circa75/dropplets
- aw3c2 13y agoAll I see is a link to a zip and a link to "http:///" http:///"?
- d0ugal 13y agoThe link is all JavaScripty, or you can just scroll down. I'm not keen on that UI.
- xauronx 13y agoThe presentation is awesome. Super clean, I love the logo and the video's that let you know just what this thing is. The blurbs of text were enough to get me interested enough to watch the video. The videos were clean and to the point. Damn, for me this is what all landing pages for projects like this should be. I'm not sure if I'll use your product but I'll certainly bookmark the page to learn from later.
- potomak 13y agoNice design, next step, a mobile friendly CSS.
- reidrac 13y ago"Dropplets is compatible with most server configurations [...]". Requires PHP (at least), I guess none of my servers has a common configuration :) EDIT: the installation part in the README.md needs some extra info. Like it requires PHP and some file/directory permissions.
- sterlingross 13y agoIn case anyone is curious, it seems you need to add full write access to the root install directory as the config.php file is added there.
- jc4p 13y agoQuick link to demo: http://dropplets.com/demo/ http://dropplets.com/demo/
- dubcanada 13y agoI thought this had something to do with Drupal. I guess not :)
- jh3 13y agoEspecially since the drop is blue.
- yogo 13y agoMy only recommendation would be to use the new password api going forward and password_compat for versions less than 5.5. I don't see a php version requirement in their docs though.
- Cthulhu_ 13y agoOne could argue that in this case the server's file system acts as the database.
- dkuntz2 13y agoThat's true of any flat-file system... But, I agree.
- Touche 13y agoAnyone looked at the code and see how this works? When you publish does it generate html or does it do it for each GET?
- mcovey 13y agoThe code is unfortunately written in straight procedural PHP. It is kind of spaghetti code. The end result is quite pretty, but it ignores all of the best practices in PHP development right now. Also the last time I tried to set it up, it required that I have a twitter account.
- dkuntz2 13y agoThere isn't any caching. But, everything other than the index page can be generated fairly quickly, because you're not making database calls, only file system calls. The index page could take a little longer. Regardless, it's fairly quick, but it generates the output on each request. Which is to be expected, almost every other tool that isn't manually generated is the same.
- testdrive5 13y agoCan someone please tell me how this is different from Jekyll? They both work based on the same concept if I'm correct? Also, how about support for category pages? I mean, show a page full of posts from one particular category only? Possible??
- dkuntz2 13y agoThey work on completely different concepts: Jekyll requires you to generate your site. Dropplets generates pages on each request. Jekyll runs on your machine, and is written in Ruby. Dropplets runs on your server, and is written in PHP. Jekyll's posts require very minimal metadata, and use a key/value pairing system with YAML. Dropplets' posts require a ton of metadata, and the same metadata for every post, and in a specific order, and you can't add arbitrary metadata. ---- I don't think Dropplets has categories, but I may be mistaken.
- testdrive5 13y agoThanks, that was very kind of you.
- fmitchell0 13y agolooks great! definitely will have to try this out. it's a little discouraging, however, that the issue queue has so many pull requests, comments, etc. without comment. i love the concept of simplicity and i'm sure the maintainers have a roadmap in mind. it'd be nice if that was communicated a bit so i can know how simple they plan to keep it.
- andyhmltn 13y agoJust a note: Chrome 24 on Ubuntu and the videos aren't autoplaying. I have to right click + play. Would be nice to show some controls :)
- dombili 13y agoThis looks promising. I'm gonna give this a try since I'm looking for a simple and lightweight CMS for my blog. Speaking of which, anyone have any recommendations about that (apart from Jekyll)? I still haven't found what I'm looking for and I'm on the verge of coding my own blog in plain HTML instead of just installing something like Wordpress but that may be a pain in the ass to manage once I have more than handful of posts on my host. But who knows, maybe Dropplets is the one.
- dkuntz2 13y agoI started playing with Anchor last week. I like it thus far, because it really focuses on blogging, something WordPress kinda deemphasized two years ago. Plus, it's pretty. Which is always a nice bonus. ---- If you're not averse to paying for something, Statamic looks really awesome.
- dombili 13y agoThey both look pretty good, thanks for the suggestions! As long as its price is reasonable, I don't mind paying for a CMS, but it looks like Anchor fit to my needs better than Statamic. All I want from a CMS is to have its own search and markdown support. That's it. I don't care much about themes and all that. I'm perfectly fine with having white background and black text on top of it centered on the page as a "theme".
- phaer 13y agoYou might find something on http://staticgen.com/ http://staticgen.com/
- dkuntz2 13y agoHaving tried it out before, I found the format used for blog posts to be incredibly arbitrary. It requires your twitter username for every post, and a bunch of other things. Plus, instead of using key/value pairings with yaml or something similar, it required that your headers be in a specific order. It seems cool, it also seems like a little bit of work could be put into making it more accessible to people who didn't write it.
- ohwp 13y agoA small rant: I think it is bad practice to hide content below the page height. I just wanted to close the website because I thought 'nothing to see here' before I accidentally scrolled and more content was revealed.
- dkuntz2 13y agoThere's a learn more button...
- crazygringo 13y agoIt has really faint text semi-transparent text on a semi-transparent background which is covered by a Twitter icon, at least in my Chrome with my browser height. If I zoom out all the way, there's still no indication you can scroll down, because the page "helpfully" hides everything from you. It's pretty bad.
- eniacpx 13y agoAgreed, also, don't make me click on a button to figure out what I am looking at and why I should be interested.
- swift 13y agoI read this comment before actually going to the site, which is fortunate, because I'm certain I would've missed the rest of the content if you hadn't pointed that out. I rarely complain about design issues on websites but this a case where things should really be changed.
- davidlumley 13y agoYou're talking about 'The Fold' and it's a myth - http://blog.kissmetrics.com/why-the-fold-is-a-myth/ http://blog.kissmetrics.com/why-the-fold-is-a-myth/ It doesn't really matter if there's content below the page height, just that you ensure users see they have the affordance to scroll.
- cl3m 13y agoIt is powered by PHP. They probably feel ashamed as they don't say it anywhere on the webpage ;-) Seems nice tough!
- InformationBot 13y agoDon't be a douchebag.
- pioul 13y agoThe concept and simplicity make me think of Ghost's (http://ghost.org/features/ http://ghost.org/features/): free, open source, near-minimalist, and self-hosted. The seemingly only advantage is that Dropplets doesn't require a database, and its landing page is amazingly beautiful, clear, and to the point (though Ghost's "features" page is slick as well). On a more technical note, click events seem to be propagated up the player on the landing page, closing it when toggling HD for example.
- dkuntz2 13y agoBut, Dropplets doesn't have a built in post editor, and requires that your posts contain lots of required metadata, and in a really arbitrary order.
- pioul 13y agoYes, Ghost is, at least to me, superior in numerous ways, and especially for that awesome editor, but I also believe it depends on usage.
- xux 13y agoIt's closed for signup... that's annoying.
- wmeredith 13y agoYep. It's also not self-hosted. Other than the fact that these are both CMS's with modern design on their landing pages, I don't see the correlation. They're very different types of software.
- joshthewanderer 13y agoAccording to the features page: "You can host it on your laptop, or you can host it on a public server. The code is open, and so is the MIT license." It's currently not public, so I would imagine at the moment it's all hosted on their servers, but according to their blog[0], they're going public on the 14th of October, meaning it should be self-hostable from then, one would assume. [0] http://blog.ghost.org/ghost-0-3-1-maintenance-release/ http://blog.ghost.org/ghost-0-3-1-maintenance-release/
- GotNothing 13y agoSo is the marketplace going to be open to developer/designers as well?
- corywatilo 13y agoAmazing. Since the dissolution of Posterous, I've been looking for something simple and easy. And with the theming abilities, it looks like it might just be perfect for me. Can't wait to give it a try today!
- corywatilo 13y agoSide note: I love how this has been in development since at least February (when the Twitter was launched). Too many half-baked projects get posted to HN the weekend they're launched and then never end up progressing much further. The fact that this has been in the works for a while gives me the confidence to try it, knowing this isn't as fly-by-night as a Show HN weekend project.
- maddddddddddddd 13y ago"Installing Dropplets can be accomplished in about 30 seconds or under. Just download the latest version, extract "dropplets.zip", then upload the extracted files to your server." yeah, setting up a dropplets server is simple... step 1: already have a server set up. who are these "simple" platforms supposed to be for if you already have to have a "server" set up that you can "upload" to? if i can set up a server, why can't i set up a database? this just seems dumb.
- trevordixon 13y agoI like Pico (http://pico.dev7studios.com/ http://pico.dev7studios.com/).
- adambard 13y agoIt looks really good, but I hate a lot about the demo theme. Why does anything move without me doing anything? Will the annoying bottom bar always be there? What if I can't find a high-res artsy photo? Was it necessary to knock off Medium's (distinctive) menu icon?
- sequoia 13y agowarning: typical HN nitpicking (I know, typical, but it was just my first reaction upon seeing the code & I want to be honest). I looked at the code and my first impression wasn't good. These are minor issues but such "smells" are red flags (to mix metaphors) and warn me away from the codebase https://github.com/circa75/dropplets/blob/master/index.php#L25 https://github.com/circa75/dropplets/blob/master/index.php#L... } else if($_GET['filename'] == 'rss' || $_GET['filename'] == 'atom') { why would you set a get var called "filename" to request an RSS feed? There is no actual file called `rss`, so it's not a file name. So the filename get var is really maybe a file name, maybe some other non-file resource being requested. This is confusing & unintuitive, makes the code harder to read & parse. https://github.com/circa75/dropplets/blob/master/index.php#L74 https://github.com/circa75/dropplets/blob/master/index.php#L... $posts = ($pagination_on_off != "off") ? array_slice($all_posts,$offset,($posts_per_page > 0) ? $posts_per_page : null) : $all_posts; too many ternaries!! Why are you testing against a specific string ("false") to indicate a boolean value? This is a major smell as it suggests the author doesn't know the proper use of basic PHP data types.* Why are you adding a ternary if to test posts_per_page size rather than just setting it to `null` to indicate "all posts" in the first place? How can pagination be true with unlimited posts per page anyway? Make posts_per_page null by default, remove redundancy in pagination config var name, make it a bool, and you're left with: $posts = $paginate ? array_slice($all_posts, $offset, $posts_per_page) : $all_posts; I don't mean to condemn the efforts of the author: everyone starts somewhere and this looks like a pretty dang cool project, but smells like these make me walk away immediately because they indicate this code is going to be confusing and hard to work with. One last one: functions.php. This will send a cold chill down the spine of any PHP dev familiar with the bad old days. Group code logically, write reusable modules, and use namespaces (well skip this last one if you want to support old/cheap hosting)! No need to code like its PHP 4 anymore :) * Yes I see that it's a user defined setting in settings.php or config.php and an argument could be made that a user would understand "on"/"off" more easily than true/false, but this is a trivially solved by a comment & would make the code more robust and readable. More robust because string comparison in PHP is case sensitive, so if the user sets the setting to "OFF" it will effectively be "on." Boolean solves this.
- deleted 13y ago[deleted]
- egsec 13y agoLooks nice, nothing new - https://github.com/kolber/stacey https://github.com/kolber/stacey - http://bolt80.com/piecrust/ http://bolt80.com/piecrust/ The video was down for me, but maybe the uploader makes it easier then some other systems? When I try to teach non tech people to use a db-less CMS with no online admin, they get Markdown (they can at least copy and paste my example pages). But uploading files, WinSCP, FileZilla, etc and opening its NOT in word... this blows their minds. So if anyone has seen the uploader and it makes it super simple, it might be worth checking out.
- rzimmerman 13y agoThis is very nice looking, but I have to nitpick about the "30 second" install. It takes 30 seconds, assuming you've already installed an operating system, a webserver, PHP, and set everything up securely. For a beginner that is really non-trivial. Still better than Wordpress, though.
- NegativeK 13y agoYes, that's definitely a nitpick.
- krapp 13y agoCertainly, learning to use Composer (http://getcomposer.org http://getcomposer.org) to manage the packages such as PHPass and Markdown and autoload will clean up a lot of the mess, also updating packages is as easy as running a shell command (or even in my case a batch file..) I'm a bit worried about the amount of mixedin html and php I see too -- one of the benefits of sticking with an existing templating system (though people will say that's superfluous since PHP is a templating system) is that data passed into templates can be automatically escaped, whereas just mixing in adds the possibility of an xss issue. It also looks like he's using index.php pages as a way to protect his files possibly? I think he need to look into proper .htaccess protection and url routing - ensure that only predetermined urls can even resolve to anything. Overall it looks interesting and there's definitely a place for it conceptually but as others have pointed out, the style of PHP is a bit behind what's considered best practice. Still, that can be easily fixed.
- pearjuice 13y agoThis project its architecture would benefit greatly when leveraged by a framework like Laravel.
- grimmdude 13y agoLooks like a nice system. Coincidentally I've been working on something similar, albeit a little more on the simple side: http://www.grimmdude.com/2013/08/22/jebson-cms http://www.grimmdude.com/2013/08/22/jebson-cms
- hawkharris 13y agoI love the design, concept and copy, but will someone please explain what Dropplets uses in lieu of a database? (I may have missed something, but I don't think that was explained in detail.)
- babby 13y agoYou apparently upload full .md files straight to the server via a frontend interface, it seems.
- jasonsc 13y agoSince there seems to be some discussion about the code quality for Dropplets, I just wanted to clarify that Dropplets is really just a proof of concept. I'm not a developer, nor do I want to be. I'm good at creating concepts like Dropplets, but that's where my skills as a developer ends. I decided to publish Dropplets with the hope that developers that actually knew what they were doing would help me take the concept to the next level. I stated this on Dropplets.com as well.
- jamesgeck0 13y agoI tried to set this up a few months ago. Apparently I was formatting post headers incorrectly, because I couldn't get any posts I wrote to show up on the site after upload. No error messages or anything. It's pretty, but the workflow isn't much better than Jekyll. I would have been happy if there was a post editor in the admin panel, but that's apparently not going to happen.
- oddshocks 13y agoThis is actually sort of cool-looking.
- DigitalSea 13y agoLooking over the comments I want to say I am surprised the attitude of some people towards this project, but given this is Hacker "Hate On PHP" News, I am not. I am disappointed to see people nitpicking over the way some things have been coded. As someone who's used Dropplets on a couple of small sites now, I've found it to be a breath of fresh air compared to Wordpress. Not only is Dropplets a lot more simple to work with compared to other CMS's/blogging platforms written in PHP, it works. It's easy to write themes for it, it's easy to publish content and easy to make it do whatever you want. It's perfect for those times when you want something lightweight that isn't bloated Wordpress. So I am going to surprise you all by not weighing in on the dick-measuring contest that is language comparison. You can write bad code in any language, PHP just makes it easier to do so. I think this is a great project and if you have a problem with the way it's coded, remember it's open source and anyone can contribute. This is the other problem with a lot of people that frequent this site, but not limited to this site. They're quick to complain and point out problems with other peoples code and their choice of language, but rarely ever put their keyboard where their mouth is and actually bother to make a difference by contributing to an open source project. So my advice to anyone who came here to comment on the choice of PHP or the way it's coded would be to take it elsewhere and learn to compliment someone else's work. It's attitudes like the ones I am seeing that make people (like the author of this project) not want to release their work as open source because people are far too critical and judgemental of others.
- krapp 13y agoNot everyone who's criticizing the code is necessarily hating on PHP. There is a difference between good PHP and bad PHP and perfectly valid reasons to suggest things need to be changed. And I believe people have been contributing, at least, issues have been opened up and at least one commenter has mentioned rewriting (possibly forking) it.
- laurent123456 13y agoThere's good code being written in PHP, but as far as I can see, not really in this project. JS, HTML, PHP are all mixed together, global functions and variables everywhere, no classes or objects. Also they are not using an existing PHP framework so they'll have to reinvent the wheel many times for proper session handling, caching, encryption, and for countless other problems that have already been solved.
- ams6110 13y agoWith no database, you can install Dropplets in seconds on any server, compose offline using markdown, then simply upload to publish. Cool, sounds almost as easy as writing html and deploying it with ftp. We've come full circle to 1996.
- exo_duz 13y agoNot sure if it's the same for everyone or not but I'm having issues playing the videos on Chrome. The videos either just stay on the Dropplet background with the music playing, or it just goes away. In all this the BG music keeps playing though like it's playing like normal.
- marcamillion 13y agoThis looks awesome. Kudos to the author for doing this. Not a big fan of PHP, but I love everything else about this project - from a product perspective. Not getting into the code. I tried playing with the demo and the 'admin panel' (by pressing the dropplet icon in top left) didn't show up for me in Chrome on Windows 7. The screen moved slightly to the right (say 2 px) so I knew it was supposed to move...but it didn't go the full way. Not sure why that is. Edit: It looks like some sort of JS error: Uncaught TypeError: Cannot call method 'create' of undefined measureIt.js:120 (anonymous function) measureIt.js:120
- brymaster 13y agoOld always becomes new again. 10-15 years ago this was called Newspro/Coranto by early bloggers.
- contextual 13y agoPromising CMS. Installs in a snap. Any new templates being released soon? The cupboard is bare.