kongondo Posted May 23, 2014 Share Posted May 23, 2014 The Module Blog for ProcessWire replicates and extends the popular Blog Profile. Blog is now in version 2. Please read the README in the Github link below in its entirety before using this module As of 20 December 2017 ProcessWire versions earlier than 3.x are not supported Blog Documentation is here (Work in Progress!) See this post for new features in version 2 or the readme in GitHub. To upgrade from version 1, see these instructions. ################################################## Most of the text below refers to Blog version 1 (left here for posterity). Blog version 1 consists of two modules: ProcessBlog: Manage Blog in the backend/Admin. MarkupBlog: Display Blog in the frontend. Being a module, Blog can be installed in both fresh and existing sites. Note, however, that presently, ProcessBlog is not compatible with existing installs of the Blog Profile. This is because of various structural and naming differences in respect of Fields, Templates, Template Files and Pages. If there is demand for such compatibility, I will code a separate version for managing Blog Profile installs. In order to use the 'Recent Tweets Widget', you will need to separately install and setup the module 'MarkupTwitterFeed'. Please read the README in the Github link below in its entirety before using this module (especially the bit about the Pages, etc. created by the module). I'll appreciate Beta testers, thanks! Stable release works fine. Download Modules Directory: http://modules.processwire.com/modules/process-blog/ Github: https://github.com/kongondo/Blog You can also install from right within your ProcessWire install. Screenshots (Blog version 1) Video Demos ProcessBlog MarkupBlog Credits Ryan Cramer The Alpha Testers and 'Critics' License GPL2 46 1 Link to comment Share on other sites More sharing options...
cstevensjr Posted May 23, 2014 Share Posted May 23, 2014 A very wonderful and remarkable piece of work. Thank you for producing this module. I believe and certainly hope that this module will further open the door for acceptance of ProcessWire in a lot of places. Kongondo, you have talent. 8 Link to comment Share on other sites More sharing options...
kongondo Posted May 23, 2014 Author Share Posted May 23, 2014 @Charles - you are too kind! Thanks. @all - updated the first post + README... Link to comment Share on other sites More sharing options...
PhotoWebMax Posted May 23, 2014 Share Posted May 23, 2014 I just installed this module on an existing test site. So far all I can say is "wow!!!" I did try Ryan's Blog Profile, which is also amazing. The profile seems to have everything. This Blog module seems to offer the perfect solution to "I need a blog/news/article system for an existing PW site". I will need to dig into the folders, especially the CSS, to see how difficult it will be to make the Bog module structure fit in with the navigation and design of the previously existing test site... Hats off to you Kongondo... 2 Link to comment Share on other sites More sharing options...
Craig Posted May 23, 2014 Share Posted May 23, 2014 That all looks rather great! Excellent work, thank you 1 Link to comment Share on other sites More sharing options...
Raymond Geerts Posted May 23, 2014 Share Posted May 23, 2014 Wow looks very good and complete from what i can see in the screenshots. I'm not a blogger myself but i think many other people are, so this module can be very interesting to get some new people atrackted to ProcessWire. 2 Link to comment Share on other sites More sharing options...
totoff Posted May 23, 2014 Share Posted May 23, 2014 Installed, wow! Amazing work. Already a first beta-testing feedback: I have templates with the word "widget" in template name. They show up in the dashboard > settings tab though they have nothing to do with the blog. And if you publish a post from the dashboard > posts tab, the posts list doesn't update (the post remains as unpublished until you refresh your browser). That could be confusing to the unexperienced. 1 Link to comment Share on other sites More sharing options...
adrian Posted May 24, 2014 Share Posted May 24, 2014 kongondo - really fantastic - you have put a huge amount of thought and work into this. I just tested an import from WP using the latest version of Nico's MigratorWordpress. I just edited the config settings in his module to match your template and field names and bingo, a perfect import! 5 Link to comment Share on other sites More sharing options...
fenton Posted May 24, 2014 Share Posted May 24, 2014 whoa! @_@ hats off 1 Link to comment Share on other sites More sharing options...
kongondo Posted May 24, 2014 Author Share Posted May 24, 2014 Installed, wow! Amazing work. Already a first beta-testing feedback: I have templates with the word "widget" in template name. They show up in the dashboard > settings tab though they have nothing to do with the blog. And if you publish a post from the dashboard > posts tab, the posts list doesn't update (the post remains as unpublished until you refresh your browser). That could be confusing to the unexperienced. Thanks for testing totoff. I believe you are referring to these template files: blog-recent-comments; blog-recent-posts; and blog-recent-tweets. Yes, currently, the template files are not being used. I have been mulling whether to leave them as is for those who wish to directly render the contents of those template files. I'll think a bit more about this but it is likely I will remove the template files. Incidentally, the first 2 templates are quite similar; will probably merge them into one. Regarding your second issue, I haven't experienced that (see also video demo). Publishing a post using the 'posts' view, whether as unpublished or published, forces a reload of the page since a button is clicked. The 'posts' table below then shows the newly created post at the very top (selector sorting is by date descending). I think what you probably mean is that when you edit a post, the new post status is not reflected in the posts table. That is correct; this is because the editing happens in a modal (actually an iframe) that is not really aware of the 'page below it'. I will see if I can use jQuery to force a reload of the 'page below' [hope this makes sense! ;-)] Link to comment Share on other sites More sharing options...
kongondo Posted May 24, 2014 Author Share Posted May 24, 2014 Hi all, Thanks for testing and comments. Template Files One thing I should have clarified. The included demo example template files are just that; a demo. They are not part of the 'blog' module. They are not meant to showcase any templating approach. They are intentionally verbose (e.g. similar markup repeated across all of them as opposed to, for example, using head.inc, footer.inc or some other approach e.g., main.php, etc.). The idea is that the user decides how to structure their blog, what CSS framework to use (or not to use), JS, etc. On the contrary, the template files are meant to showcase MarkupBlog. What you can do with its methods/functions. Yes, MarkupBlog generates some markup but these are necessary and minimal. Using wrapper DIVs etc, as shown in the example template files, you can structure your blog however you want to fit in your new/existing site. Even the CSS and JS are demos! . In a nutshell, MarkupBlog does not come with its own CSS and JS. What is included is just meant to give you an idea of how to use it . In due course, I will do a write-up of all the methods available in MarkupBlog and what they do. @Max.. As per above, it is not difficult to fit MarkupBlog into your existing site's structure. In fact, since it is a module, you can even call it wherever you wish, in whatever template files, even your existing ones. What I am saying is that you don't even have to use the example template files! You just need to know the parameters MarkupBlog methods expect and you are on your way. This may be a bit advanced for you at the moment, so you might want to instead edit the example files as much as you wish Role and Permission Note that Blog installs the role 'blog-author' and permission 'blog'. These are available to you to control access as you wish. They are not automatically applied to any user. With these, you can can control the finer details of your blog. Authors Currently, the 'authors' tab/view only shows the count of 'published' posts per author. I'll soon update this, probably with a two different columns; one showing count of 'published' and the other showing count of 'pending [unpublished]' posts for each author. 3 Link to comment Share on other sites More sharing options...
kongondo Posted May 24, 2014 Author Share Posted May 24, 2014 I have updated the author's posts' table to show both 'published' and 'pending' posts. 2 Link to comment Share on other sites More sharing options...
kongondo Posted May 24, 2014 Author Share Posted May 24, 2014 Update: After closing an edit modal (widgets, posts, tags, categories), the parent page now refreshes to reflect relevant changes (e.g. date, author, published status, etc)... 1 Link to comment Share on other sites More sharing options...
totoff Posted May 25, 2014 Share Posted May 25, 2014 Hi kongondo, I believe you are referring to these template files: blog-recent-comments; blog-recent-posts; and blog-recent-tweets. No, I refered to my template files I set up for other purposes than the blog. I think what you probably mean is that when you edit a post, the new post status is not reflected in the posts table. Exactly, thanks for making this more clear. After closing an edit modal (widgets, posts, tags, categories), the parent page now refreshes to reflect relevant changes Super fast service! 1 Link to comment Share on other sites More sharing options...
muzzer Posted May 25, 2014 Share Posted May 25, 2014 Wow, this looks sharp! I'll definitely need to check this out this week, I'm not a blogger but this makes me want to be one Well done, superb work kongondo. 1 Link to comment Share on other sites More sharing options...
einsteinsboi Posted May 25, 2014 Share Posted May 25, 2014 Fantastic work Kongondo!! Can't wait to try this, been wanting to add a blog to one of my existing PW sites so this is perfect timing Wicked awesome man! Thanks for sharing 1 Link to comment Share on other sites More sharing options...
kongondo Posted May 25, 2014 Author Share Posted May 25, 2014 Hi kongondo, No, I refered to my template files I set up for other purposes than the blog...... Thanks for clarifying. Fixed in the latest commit. I think the problem was that you have a page called widgets. The previous selector was looking for pages with a parent 'widgets'. Good catch! I have changed the selector to be more specific. 1 Link to comment Share on other sites More sharing options...
kongondo Posted May 25, 2014 Author Share Posted May 25, 2014 Follow-up to my post above about the 'example template files': 1. If you decide to hide some widgets (say recent posts), the HTML is still showing up and reporting 'no posts found'. That's just an oversight on my part. 'Unavailable' widgets should not even output their HTML; 'no posts found' should mean exactly that. I'll try to fix this later, but it is not a high priority . 2. On a related issue, you will need to install and configure MarkupTwitterFeed in order to use the example 'Twitter Widget'. Update: I have updated the example Template File 'blog-recent-tweets.php'. The references to some fields were wrong . Also updated the README + First Post. Link to comment Share on other sites More sharing options...
DaveP Posted May 26, 2014 Share Posted May 26, 2014 I love it when someone posts something as amazing as this! Another one where simply clicking 'Like' is nowhere near enough. Thank you Kongondo, this is an exceptional contribution. 2 Link to comment Share on other sites More sharing options...
looeee Posted May 26, 2014 Share Posted May 26, 2014 That's amazing - the very day I decided to put a blog on my site, this gets uploaded! Thank you so much! I've installed it and incorporated it into my site with surprising ease. The only issue I've had is with comment moderation - how do I do it? There's no option in the blog admin. EDIT: I found it - edit the post that the comment is on and the section for approving comments is at the bottom. Guess I should have watched the video tutorials! 1 Link to comment Share on other sites More sharing options...
kongondo Posted May 26, 2014 Author Share Posted May 26, 2014 @looeee, Welcome to the forums! I'm glad the module is of benefit... Currently, there is no comment moderation within Blog itself. This is deliberate. You have two choices: 1. You can install the module 'Comments Manager' to manage all your comments in one place. It would have been nice to integrate Blog and CM better but currently there are no plans to do so. 2. You can moderate comments on a per post basis. Just edit a post and you will find all comments awaiting your approval 2 Link to comment Share on other sites More sharing options...
kongondo Posted May 26, 2014 Author Share Posted May 26, 2014 Update: And we are off...'Blog' is now available in the modules directory. Updated first post... 4 Link to comment Share on other sites More sharing options...
looeee Posted May 26, 2014 Share Posted May 26, 2014 Great thanks! The comments manager is just what I was looking for. To make it it a bit more integrated I just moved the "Comments Manager" page from /admin/setup to /admin/blog, which doesn't seem to have caused any problems. A couple of things: to get widgets from the sidebar to display on non-blog pages, the module has to be called on every page: //CALL THE MODULE - MarkupBlog $blogOut = $modules->get("MarkupBlog"); I've just added it to the top of my sidebar.inc for the time being, I'll have to refactor my code a bit in the future to stop it being called twice on blog pages.Second, to get posts to show only an excerpt, in the template files change the line: $content .= $blogOut->renderPosts("limit={$limit}"); to $content .= $blogOut->renderPosts("limit={$limit}", $small=true); Currently it looks like the excerpt length is hardcoded to 450 characters - perhaps adding an option for people to set this themselves would be a good idea? In the meantime, for anyone that wants to change this, find the line $summary = strip_tags(substr($page->blog_body, 0, 450)); in MarkupBlog.module and set it to whatever you want. Great work, I'm getting more impressed the more time I spend with it! 2 Link to comment Share on other sites More sharing options...
kongondo Posted May 26, 2014 Author Share Posted May 26, 2014 @looeee, Thanks for further testing this. One thing I have tried to clarify in my posts further up is that the included Template Files are just demos. Some of the code in there is not even related to MarkupBlog. The code in the Template Files is also deliberately verbose. For instance, there is a lot of repetitive code that could be best split up into includes. I decided to leave it like that so that users could select whatever templating approach they wanted (yes, refactoring needed; I might revisit this decision in future). In order to do this effectively, they need to be familiar with the methods/functions available in MarkupBlog . So, I will be writing up a guide covering those methods (e.g. your examples above). Configurable Excerpt Length: Good suggestion. Please file an issue on GitHub if you can so that I don't forget this. Cheers. 1 Link to comment Share on other sites More sharing options...
adrian Posted May 27, 2014 Share Posted May 27, 2014 Kongondo, Regarding blog_date field. I get the feeling it is designed to be the date/time that the blog post is published, but from what I can see it gets set when the post is first created and doesn't automatically change after that. I might be misunderstanding your use of the field, but I would like to see it change automatically when the post is published and not change after that - maybe even disable user editing of it? I know we often draft up several posts at a time and publish them later. I don't think we should have to manually adjust this field when publishing the post. Another thought for you - have you considered integrating this module: http://modules.processwire.com/modules/schedule-pages/ or the functionality from it into the blog posts tab? This would make WP users feel at home. Thanks for considering. 3 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now