Come play in my sandbox

Permalink
I've been working on a blog block and would like to hear what people think of the interface so far.

c5sandbox.werstnet.com

You can try logging in as a blog administrator or a blog poster, or a registered user that isn't a member of either group. All three see the blog differently.

My writeup of where I'm at with the code is here:

http://www.werstnet.com/index.php?cID=68...

Some of the code samples got messed up when I was adding them on the writeup, you can browse the source here:

http://trac.werstnet.com/browser/projects/websites/blog_package/tag...

It's still quite a ways away from being something that I could just package up, at least another week or two. But I think the interface feels pretty OK so far. I need to figure out how to make full collections from my blog post model and then everything should come together pretty quickly. The main thing I want to get in there is buttons to add images and links for the rich editor.

What do you guys think? Anything messed up or hard to figure out in the user interface?

I know that some people don't want to pay for anything, but is this something you guys would buy from the marketplace?

hereNT
 
chunksmurray replied on at Permalink Reply
chunksmurray
congrats on what you have done so far, its looks great!!

I had a quick play around on the sandbox, and it functions as you have stated, and as I would expect a blog to. By no means am a blog expert, so I can't really add to what you have done but I just wanted to say that it looks excellent and looks like it could meet the needs of many out there looking for an integrated concrete5 blog.

Hopefully you get some good feedback, you've obviously put a lot of work into it!
jincmd replied on at Permalink Reply
jincmd
great work
katz515 replied on at Permalink Reply
katz515
Hey, it's great~!

I'm pretty much preoccupied with Japanese translation stuff... but it look really really awesome~!

Cannot give you a feedback now, but congrats.
bryanlewis replied on at Permalink Reply
bryanlewis
This looks great! good job!
Quaro replied on at Permalink Reply
I'm just getting into writing blocks myself so I really appreciated you writing up your thoughts during the development of this.
jincmd replied on at Permalink Reply
jincmd
it's something I would buy...
Remo replied on at Permalink Reply
Remo
Nice thing so far. But one question..

Why didn't you use pages for posts? Most of my blogs use quite a few plugins (wordpress plugins).

The way you built your blog makes it quite hard to integrate any kind of plugins (concrete5 addons).

I would have built it on top of pages... Would have been a lot easier I guess.
Reading blocks out of pages it quite easy. Create a summary block which appears on top of every page/blog and fetch that information with a custom page list and you have half a blog in half an hour. It wouldn't have all the settings and the nice dashboard entry you've built..

This way, I would be able to add any kind of content to my block. A gallery, a slideshow, a video and a lot more.

?
hereNT replied on at Permalink Reply
hereNT
My whole reason when I started building it was just to learn the package development process by reading through the code for the Advertisement block. Once I took a look at how the Calendar block functions, I saw that creating a collection when I save my post model is probably going to be the best way to go for the final version. I just haven't quite gotten that far yet.

I'm debating a bit over how to best implement that, though. I'm thinking of giving blog posters and administrators edit access on the generated page, but only inside of a blog post area. Any plugins, or enabling/disabling comments or other preferences for that page (which would probably be other blocks) would be handled through the post form instead of through the main post form.

I'd have to do some checking to find out if the designated area that they can edit has more than just a content block when they bring up the edit form, if it does, you'd get a link to edit the page instead of the text editor. Once you're on that page, you'd get a link to edit the post settings from the page, I'll have to make sure that the page defaults and meta line up with the options in the post model, and catch the save action for the page and update the post as well. Still kind of trying to figure out what the best workflow for that is going to be...

At any rate, yeah, it's not done by a long stretch. Just wanted to get some feedback on it so far.
jincmd replied on at Permalink Reply
jincmd
for this project =)
This can be used for many things such as blogs, customer service ticket,
small forum
am i wrong?
Remo replied on at Permalink Reply
Remo
I actually doubt that you don't know how to use pages for it. The code you already wrote is pretty advanced (:

I agree that you need different access rights, but even with my idea, this isn't a big deal. There is already an advanced permission mode which lets you set permissions per area and even block types.

Having pages instead of a collection model also has another advantage - nice urls. You would have to create your own rewrite rule to make sure you can open a detail post with a nice url. Possible but you would get a lot of support requests for sure.

---

I'm not sure if this could be use for a lot of different things. Service tickets need different meta data, but it would probably be a nice start for it anyways.

But I'd be happy to work with you on that... Just to make sure it's dne by a long stretch.
hereNT replied on at Permalink Reply
hereNT
I'm pretty sure of what I need to do now :P

For the connection to the pages, I'm thinking all I'll need inside of the custom post model is the cID, right? Then I pull up that collection and populate / save it when I save the post model. So if say, the model has comments enabled when it's saved, you add a guestbook block to the collection with the preferences set from the parent post or the parent blog. I'd like to make adding the plugins like comments, tags, archives, etc available as a simple yes/no instead of something where you have to put the whole page in edit mode. Especially once blogs have several thousand posts.

The actual collection that the post model is controlling would still have the nice URL and be a full page, so I don't really see problems there.

I'm using the advanced permissions on the sandbox site, but it's not built into the package itself yet. The final version is probably going to have to create the Blog Posters and Blog Admin user groups when it installs. I was honestly really happy to see how easily changing the permissions could be used inside of the block - I hadn't really played around with the groups model yet.

Man I love Concrete :)
Remo replied on at Permalink Reply
Remo
and the cool thing about concrete5, that you can add a block very easily with some code. No need for an area, just can just render a block using some code.

Add a page attribute (enable comments), check for it in the custom blog post template and add a guestbook block on the fly..
jincmd replied on at Permalink Reply
jincmd
of appreciation to say you guys what make c5 so special and what keeps me tuned in everyday
hereNT replied on at Permalink Reply
hereNT
I have the basics of adding pages stubbed in now (not up in the Sandbox yet) and it does seem like really a much nicer way to work.

I might be doing it a little weird though. I'm still using the blog_post model, only now I've renamed it to be blog_post_settings. When I save a BlogPostSettings, I'm creating a page of type blog_post. Everything is working great there. Once the page is created, I'm assigning just one page attribute, which is the ID of the blog_post_settings model. When the blog_post page is displayed, I'm pulling up the settings model and using it to turn page items off and on.

I think this will be a little bit better for the people that are posting to the blogs. I don't want to have 30 or 40 page type attributes for blog post pages, especially since the keys might already be there. I don't want the site admins to have to sort through a bunch of keys when they're creating new page types, either.

The problem is that if someone then does go to edit the page, they get a text field in page attributes field if they're editing the page. I don't want them to be able to change this value, and it would cause a lot of problems if they _do_ change it.

How do I set a page attribute that can't be directly edited?
Remo replied on at Permalink Reply
Remo
I haven't seen anything like it but it's actually quite easy to work around.

Take the page id and create your own table.. Why does it have to be an "official page attribute"? If it doesn't have to be edited through "properties", why do you need an official attribute?
hereNT replied on at Permalink Reply
hereNT
Not sure why, just seemed like it would be easier that way.

I ended up just adding a new method to get the post settings from a cID, that seems to be working, at least so far. When I create the collection for the actual post, I save the cID in the post model.

I should have the new code up in the sandbox either way late tonight, or sometime tomorrow.

/Edit - seems to work even better than I was expecting it to. Instead of pulling up just the post body, now I can grab all of the blocks inside of the "Main" area on the post page and display it inside the blog component. I'm going to have to change the edit links around to point at the new blog_post page instead of the dashboard, but that's nothing.

The hard part is probably going to be updating the page description, I'm not entirely sure how I want to handle that yet.

Then there's the aspect of widgets / sub blocks to add in to the actual display. I'm not much of a blogger, so I'm not sure what everyone is using these days. I'm assuming people will need a post calendar and an archive list, probably a blog roll with links to other sites.

What are the key features (besides simply posting and editng) of the big blog packages that need to be replicated?
simpled replied on at Permalink Reply
links not working anymore...
bryanlewis replied on at Permalink Reply
bryanlewis
how is the blog coming?

any updates?
hereNT replied on at Permalink Reply
hereNT
www.werstnet.com is probably the oldest domain I still have active, and the registrar changed stuff over years ago to a new system. This domain didn't get transferred, and they were sending the emails letting me know the domain was expiring to a long expired hotmail account.

Same thing happened last year, tried to get the registration transferred to my new host but missed being able to transfer before expiration. Now they won't let me start the transfer process again for another 45 days.

I've been trying to get away from them for several years now, but it was a low priority since I wasn't doing anything with the domain name until about 4 or 5 months ago.

As far as progress on the package, I've gone down a couple of blind alleys trying to get it all changed over to use page types. I was also trying to get it so the pages look and function more like a traditional blog template for wordpress, which didn't end up working out all that great. I wanted the sidebar to have a bunch of yes/no questions for what blocks were included, but ended up deciding that simply duplicating the blocks from the blog page onto the post page would work better.

About the only thing good to come out of it so far is a really solid naming convention and a couple of simple jQuery functions so I have a really simple way to toggle extra options for the add/edit forms.
simpled replied on at Permalink Reply
This blog is a must have.
Myself and I know few other are waiting for something like this to happen quickly.

I will be happy to "sponsor" this for $20 if other people join in, it will give hereNT the courage to finish it....
hereNT replied on at Permalink Reply
hereNT
Couple other projects in front of it that aren't just playing around trying to learn more about the C5 API, and my brother needs help moving tomorrow and thursday...
aaron replied on at Permalink Reply
im in for 20 bucks
stokini replied on at Permalink Reply
stokini
I would definitely pay for this too. Keep up the good work!

Darrell
simpled replied on at Permalink Reply
On the blog?
3 paying customers already...
Definitely need this ASAP...

please please please.....
hereNT replied on at Permalink Reply
hereNT
My attention's just been on other things the last couple weeks or so.
simpled replied on at Permalink Reply
no worries, everybody is busy...
$30 from me....
Alibaba replied on at Permalink Reply
I would be happy to sponsor aswell, With my country'e exchange rate (8:1) I would gladly invest $50. Better still if this could become an Addon, it would find ready buyers, and hereNT could have some regular sales.

C5 is appealing to folk who want featureful websites for their clients, and who can't write code. Addons is the way to go.
Styves replied on at Permalink Reply
Styves
30$ for me
frz replied on at Permalink Reply
frz
we'll happily sell it for you on the marketplace
hereNT replied on at Permalink Reply
hereNT
But I haven't had a chance to even look at it in two weeks. My brain is firmly entrenched in html/css mode for some freelance stuff, enough so that I'm not sure where to pick back up without re-reading everything. I was kind of in the middle of tearing it apart and rebuilding with a really clear plan on how it was coming back together about two weeks ago...

And now family I haven't seen in several years is coming to visit next week...

I'll find time to work on it soon, but right now I'd say at least a month before I could have something packaged up.
Styves replied on at Permalink Reply
Styves
I understand.

Cheers!
rufusrenn replied on at Permalink Reply
Any updates on this? :)
76West replied on at Permalink Reply
76West
To echo many others, I would gladly chip in on the sponsorship of the development of this add-on and agree that this should be a paid block. The idea of a "missing" blog is one of the most discussed on the C5 forums.

Looking forward to seeing the development on this come to light in the form of a public beta or some such.

Hope you can give us an update soon!

Cheers
hereNT replied on at Permalink Reply
hereNT
I've been doing a lot of paid work that actually applies to this, but with what I've learned in the last couple months, I'm tearing the whole thing apart and starting over.

Hoping to have a beta out to a few people early next week... May or may not happen, depends on how long wrapping up the paid stuff takes...