
KBlogger
Source (link to git-repo or to original if based on someone elses unmodified work):
Recent sources are in KDE svn at: svn co svn://anonsvn.kde.org/home/kde/trunk/playground/pim/kblogger"
If you seriously are willing to work on KBlogger to push a 1.0 release (which should be still quite some work) you can contact me on whilo@jabber.org .
KBlogger pre1.0 is a kicker-applet for quick blogging, like gnome-blog. Just push the blog button and blog!
It supports the Meta-Weblog-Api, which is supported by most blogs, and Blogger API 1.0.
KBlogger beginning from 1.0 is a full fledged blog manager for KDE 4. It supports Blogspot, Wordpress, Drupal and LiveJournal accounts. In general all blog backends/servers that support MovableType/MetaWeblog/Blogger1.0 or GData are supported, which are quite a lot.
DEPENDENCIES: You need kdebase-dev-4.0.0 and kdepimlibs-dev-4.0.0 (which depends on qt-4.3.3, kdelibs-4.0.0, kdelibs-dev-4.0.0 and kdepimlibs-dev-4.0.0).
THE KDE4 VERSION IS ALPHA CODE AT THE MOMENT, ONLY USE IT IF YOU KNOW WHAT THAT MEANS.
Additional infos can be found on the webpage.
1.0-alpha3
- much improved auto-configuration
- changed but still buggy media management
- a zillion bugfixes and rewrites
1.0-alpha2
- fixed profile deletion
- close import media dialog on ok
- update the html preview on style fetching
KNOWN ISSUES:
- Mediamanagement is rough and thumbnail creation is hardcoded and thumbnails are not handled correctly
1.0-alpha1
- stripped API code out and do that in kdepimlibs/kblog as a lib now(me)
- KBlog supports GData and MovableType now and is a really good codebase when compared to before. It is even hard to compare ;-) (me)
- Port and build a KDE 4 application on top of it (Antonio)
- KBlogger supports autoconfiguration now (me)
- Multiple blog profiles supported (Antonio)
- Media manager with automatic import and thumbnail creation.(Antonio and me)
- Preview for Webpages (Antonio and me)
- Offline draft handling (Antonio)
- Trash support (Antonio)
- Richtext editing improved (Antonio)
- Editor improved (Antonio and me)
- View and modify existing posts (Antonio)
File issues, especially with autoconfiguration and crashes here for now please! Don't forget to post a backtrace (needs a debug build) and relevant information! Once we are in extragear, you can use bugs.kde.org for proper bug reports.
0.7-beta3
- Convert local time to UTC beforce creating new posts first.
- Properly close the editor on "esc"
- Fix the tab order
0.7-beta2
- removed the stupid css handling code
0.7-beta1
- passive error messages
- new editor with preview function
- utf8 finally fixed!
- other fixes
0.6.5
- still dateTime issues in wordpress due to a bug in wordpress
- added GUI for changing dateTime (thanks Antonio!)
- improved the GUI
- added the possibility to add plain HTML code (i hope it works with correctly)
0.6.4
- well actually i've only reverted the datetime behaviour to 3.5 )
- automatic blogid fetching and showing blog name info
- richtext edit
- file uploading ( metaweblog )
- posts editing through right click menu ( metaweblog )
- many bugfixes
- ...
0.5.2
- improved error handling and information
- added german translation
- bugfixes...
0.5.1
- added automatic category fetching for MetaWeblog API ( Blogger API doesn't support it )
- fixed/added editor error handling
- bugfixes...
0.5
- new backend from the kdepim/blogging resource. Blogger API 1.0 works again
- fixed configuration dialog
- added category support
- new icon (thx to Kenneth Wimer)
- new documentation (thx to Harald Sitter)
- bugfixes, cleanup
0.4.1 (thx to harald!)
- changed fsf address
- made the desktop file freedesktop spec compatible
- sorted out a build issue according to: http://developer.kde.org/documentation/makefile_am_howto/en/_makefile_am_for_a_plugin_or_module_.html
- removed unneeded files and folders
0.4
- changed the backend to kio-http
- maybe it also works with a proxy now?
- improved error handling
- simplified configuration dialog
0.3
- improved error-handling
- added some documentation
- improved all widgets:
- fixed deletion of the message if an error occurs
- added tooltips in configuration
- added spellchecking
0.2
- added basic error-handling
- added publish option
- improved all widgets
- added blogger.com/blogspot (not tested!, since i have no blogger.com account) support, new apis should be easy to add now
Ratings & Comments
127 Comments
Version: (using KDE 4.2.4) OS: Linux Installed from: Ubuntu Packages I created my blog (patscompservices.blogspot.com) in KBlogger, and can post to my blog. However, if I attempt to retrieve the labels (or categories) from blogspot.com, KBlogger crashes and throws a bugtrace up. I'm not sure if bloglio is the correct application--as you don't have KBlogger listed. Here is a copy of the backtrace that is thrown. Application: KBlogger (kblogger), signal SIGSEGV Thread 1 (Thread 0xb4ecb700 (LWP 11246)): [KCrash Handler] #6 0x080aeb44 in _start () This happens every time I attempt to refresh the categories.
Hi, I use kblogger (Version 1.0-alpha3) on KDE 4.3 RC3 together with Drupal 6.10. Blogging in general (text only) works fine, but the categories I associate with a post won't be saved... Any hints?
OS: Kubuntu 9.04 KDE 4.2.2 Crushes every time when sync .png files from blogger. Crush Report: ---------------------------------------- Application: KBlogger (kblogger), signal SIGSEGV [Current thread is 0 (LWP 3498)] Thread 2 (Thread 0xb37fdb90 (LWP 6434)): #0 0xb805e430 in __kernel_vsyscall () #1 0xb5838412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb5e02344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6 #3 0xb5fee98c in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #4 0xb5fe3e76 in ?? () from /usr/lib/libQtCore.so.4 #5 0xb5fed96e in ?? () from /usr/lib/libQtCore.so.4 #6 0xb58344ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xb5df349e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread 0xb5036700 (LWP 3498)): [KCrash Handler] #6 0xb5fe8477 in QMutex::lock () from /usr/lib/libQtCore.so.4 #7 0xb60e16e7 in QCoreApplication::postEvent () from /usr/lib/libQtCore.so.4 #8 0xb60e19ac in QCoreApplication::postEvent () from /usr/lib/libQtCore.so.4 #9 0xb60f1247 in QObject::deleteLater () from /usr/lib/libQtCore.so.4 #10 0xb631bd3d in KJob::emitResult () from /usr/lib/libkdecore.so.5 #11 0xb70d5ab5 in KIO::SimpleJob::slotFinished () from /usr/lib/libkio.so.5 #12 0xb70d6d23 in KIO::TransferJob::slotFinished () from /usr/lib/libkio.so.5 #13 0xb70d7e0b in KIO::TransferJob::qt_metacall () from /usr/lib/libkio.so.5 #14 0xb70d813a in KIO::StoredTransferJob::qt_metacall () from /usr/lib/libkio.so.5 #15 0xb60f7ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #16 0xb60f8932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #17 0xb7193937 in KIO::SlaveInterface::finished () from /usr/lib/libkio.so.5 #18 0xb7197677 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.5 #19 0xb7193e17 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.5 #20 0xb71841bd in KIO::Slave::gotInput () from /usr/lib/libkio.so.5 #21 0xb7186713 in KIO::Slave::qt_metacall () from /usr/lib/libkio.so.5 #22 0xb60f7ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #23 0xb60f8932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #24 0xb709bea7 in KIO::Connection::readyRead () from /usr/lib/libkio.so.5 #25 0xb709d813 in ?? () from /usr/lib/libkio.so.5 #26 0xb709dbf6 in KIO::Connection::qt_metacall () from /usr/lib/libkio.so.5 #27 0xb60f08fb in QMetaCallEvent::placeMetaCall () from /usr/lib/libQtCore.so.4 #28 0xb60f23a0 in QObject::event () from /usr/lib/libQtCore.so.4 #29 0xb65b2f2c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #30 0xb65bb22e in QApplication::notify () from /usr/lib/libQtGui.so.4 #31 0xb781f94d in KApplication::notify () from /usr/lib/libkdeui.so.5 #32 0xb60e1a3b in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #33 0xb60e2695 in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4 #34 0xb60e288d in QCoreApplication::sendPostedEvents () from /usr/lib/libQtCore.so.4 #35 0xb610d7ef in ?? () from /usr/lib/libQtCore.so.4 #36 0xb5588b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #37 0xb558c0eb in ?? () from /usr/lib/libglib-2.0.so.0 #38 0xb558c268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #39 0xb610d438 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #40 0xb66543f5 in ?? () from /usr/lib/libQtGui.so.4 #41 0xb60e006a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #42 0xb60e04aa in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #43 0xb60e2959 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #44 0xb65b2da7 in QApplication::exec () from /usr/lib/libQtGui.so.4 #45 0x0805e6e6 in _start () ---------------------------------- ... but it still good and usefull app.
Hi, I've been using kjots for some time, now, and I wonder if it would be possible to integrate kblogger and kjots (KDE PIM), so it would be possible to join note-taking and blog posting. With that I'd have all my texts stored in one place and could simply slect which ones I want to publish. Besides: Do you know that you're in the kde-testing overlay of Gentoo?
I am trying to connect to movable type blog. My address for login using web browser is http://localhost/cgi-bin/movabletype/mt.cgi However it does not work for kblogger. If I try to autoconfigure kblogger just crashes. It is not connecting to blog :(. Does anyone knows how to connect to movable type using kblogger?
Hi! I'm trying to make a Debian package of KBLogger for KDE 4. I know it's still alpha, but if I can make the package, it would be easy to do the changes when it comes more stable. Anyway, her's the output error I get when I try to compile it: Linking CXX executable kblogger cd /home/lisandro/damian/debian/kblogger/kblogger/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/kblogger.dir/link.txt --verbose=1 /usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -Wl,--enable-new-dtags CMakeFiles/kblogger.dir/kblogger_automoc.o CMakeFiles/kblogger.dir/kblogger.o CMakeFiles/kblogger.dir/kbloggerapplication.o CMakeFiles/kblogger.dir/main.o CMakeFiles/kblogger.dir/composer.o CMakeFiles/kblogger.dir/linkdialog.o CMakeFiles/kblogger.dir/profileconfigdialog.o CMakeFiles/kblogger.dir/imagemanager.o CMakeFiles/kblogger.dir/uploadmediadialog.o CMakeFiles/kblogger.dir/backend.o CMakeFiles/kblogger.dir/backendjobs.o CMakeFiles/kblogger.dir/backendjobsqueue.o CMakeFiles/kblogger.dir/itemsmanager.o CMakeFiles/kblogger.dir/itemlist.o CMakeFiles/kblogger.dir/postslist.o CMakeFiles/kblogger.dir/medialist.o CMakeFiles/kblogger.dir/medialistview.o CMakeFiles/kblogger.dir/profileconfig_addons.o CMakeFiles/kblogger.dir/profilelist.o CMakeFiles/kblogger.dir/mainwidget.o CMakeFiles/kblogger.dir/configdialog.o CMakeFiles/kblogger.dir/composereditor.o CMakeFiles/kblogger.dir/visualeditor.o CMakeFiles/kblogger.dir/kbloggerblog.o CMakeFiles/kblogger.dir/kbloggerpost.o CMakeFiles/kblogger.dir/kbloggermedia.o CMakeFiles/kblogger.dir/waitwidget.o CMakeFiles/kblogger.dir/htmlexporter.o CMakeFiles/kblogger.dir/blogchooser.o CMakeFiles/kblogger.dir/importmediadialog.o CMakeFiles/kblogger.dir/weblogstylegetter.o CMakeFiles/kblogger.dir/kbloggerconfig.o CMakeFiles/kblogger.dir/profileconfig.o -o kblogger -rdynamic -lkblog -lkhtml -lkdecore -lQtSvg -lQtGui -lkdeui -lkonq -lQtDBus -lQtCore -Wl,-rpath,/usr/local/lib CMakeFiles/kblogger.dir/imagemanager.o: In function `Ui_KBloggerImageManagerBase::setupUi(QWidget*)': imagemanager.cpp:(.text._ZN27Ui_KBloggerImageManagerBase7setupUiEP7QWidget[Ui_KBloggerImageManagerBase::setupUi(QWidget*)]+0x3c5): undefined reference to `Q3GroupBox::Q3GroupBox(QWidget*, char const*)' imagemanager.cpp:(.text._ZN27Ui_KBloggerImageManagerBase7setupUiEP7QWidget[Ui_KBloggerImageManagerBase::setupUi(QWidget*)]+0x420): undefined reference to `Q3GroupBox::setFrameShape(Q3GroupBox::DummyFrame)' imagemanager.cpp:(.text._ZN27Ui_KBloggerImageManagerBase7setupUiEP7QWidget[Ui_KBloggerImageManagerBase::setupUi(QWidget*)]+0x433): undefined reference to `Q3GroupBox::setFrameShadow(Q3GroupBox::DummyFrame)' imagemanager.cpp:(.text._ZN27Ui_KBloggerImageManagerBase7setupUiEP7QWidget[Ui_KBloggerImageManagerBase::setupUi(QWidget*)]+0xbf3): undefined reference to `Q3ButtonGroup::Q3ButtonGroup(QWidget*, char const*)' CMakeFiles/kblogger.dir/uploadmediadialog.o: In function `Ui_UploadMediaDialogBase::setupUi(QDialog*)': uploadmediadialog.cpp:(.text._ZN24Ui_UploadMediaDialogBase7setupUiEP7QDialog[Ui_UploadMediaDialogBase::setupUi(QDialog*)]+0x751): undefined reference to `Q3GroupBox::Q3GroupBox(QWidget*, char const*)' uploadmediadialog.cpp:(.text._ZN24Ui_UploadMediaDialogBase7setupUiEP7QDialog[Ui_UploadMediaDialogBase::setupUi(QDialog*)]+0x7ea): undefined reference to `Q3GroupBox::setFrameShape(Q3GroupBox::DummyFrame)' collect2: ld returned 1 exit status make[2]: *** [src/kblogger] Error 1 make[2]: Leaving directory `/home/lisandro/damian/debian/kblogger/kblogger' make[1]: *** [src/CMakeFiles/kblogger.dir/all] Error 2 make[1]: Leaving directory `/home/lisandro/damian/debian/kblogger/kblogger' make: *** [all] Error 2 I do have the Qt 4's Qt 3 support librarries :S Any idea which may enlight me? Thanks, Lisandro.
Well, I solved that by adding ${QT_QT3SUPPORT_LIBRARY} in src/CMakeLists.txt's find target_link_libraries(...) As you said, the soft is very betta, as I cannot see any blogpost :S Anyway, keep me informed please :-D Thanks!
it is an alpha! i have not chosen this name out of a mood. can you send me your cmake changes? I'll have a look if i have missed sth.
Sadly I can't, I have erased the files since I did not get a response in many days :-( Anyway, if you happen to put it on beta, please tell me and I'll try to make a deb of it :-)
Hi and thanks for the amazing work you did (and hope you're still doing) with KBlogger. I just thought I'd bug you with a couple of issues (on Kubuntu, with the test packages of KDE 4.1 beta): -- For some reason, it crashes right before exiting, which is pretty weird. Debugging info follows: ====================== Application: KBlogger (kblogger), signal SIGSEGV (no debugging symbols found) [...] (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 0xb52ca720 (LWP 12085)] (no debugging symbols found) [...] (no debugging symbols found) [KCrash handler] #6 0x00000028 in ?? () #7 0xb7df8e3c in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4 #8 0xb68f7d1e in QWidget::~QWidget () from /usr/lib/libQtGui.so.4 #9 0xb6c368d1 in QFrame::~QFrame () from /usr/lib/libQtGui.so.4 #10 0xb6ca1e05 in QStackedWidget::~QStackedWidget () from /usr/lib/libQtGui.so.4 #11 0xb7df8e3c in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4 #12 0xb68f75de in QWidget::~QWidget () from /usr/lib/libQtGui.so.4 #13 0xb7df8e3c in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4 #14 0xb68f7d1e in QWidget::~QWidget () from /usr/lib/libQtGui.so.4 #15 0xb6c368d1 in QFrame::~QFrame () from /usr/lib/libQtGui.so.4 #16 0xb6c9dd41 in QSplitter::~QSplitter () from /usr/lib/libQtGui.so.4 #17 0xb7df8e3c in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4 #18 0xb68f7d1e in QWidget::~QWidget () from /usr/lib/libQtGui.so.4 #19 0xb6c368d1 in QFrame::~QFrame () from /usr/lib/libQtGui.so.4 #20 0xb6c9dd41 in QSplitter::~QSplitter () from /usr/lib/libQtGui.so.4 #21 0xb7df8e3c in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4 #22 0xb68f7d1e in QWidget::~QWidget () from /usr/lib/libQtGui.so.4 #23 0x080877d1 in ?? () #24 0xb7df8e3c in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4 #25 0xb68f7d1e in QWidget::~QWidget () from /usr/lib/libQtGui.so.4 #26 0xb6c52a21 in QMainWindow::~QMainWindow () from /usr/lib/libQtGui.so.4 #27 0xb7a2cfeb in KMainWindow::~KMainWindow () from /usr/lib/kde4/lib/libkdeui.so.5 #28 0xb7a68d37 in KXmlGuiWindow::~KXmlGuiWindow () from /usr/lib/kde4/lib/libkdeui.so.5 #29 0x0805c7ca in _start () #0 0xb7f05410 in __kernel_vsyscall () ===================== -- Is it possible to fix the link creation dialog? works fine when pressing OK, but then it just stays there, not even cancel can close it. cheers!
First, thanks for your work. But I am wondering about tagging. Does it have tagging feature or will it have?
I know that asking is not polite but since its been months when the previous alpha got release, any change the next alpha/beta will see the light of day soon(-ish)? :) Kudos for the good work btw ^-^
here it is.
Bug: KBlogger assumes the kwalletd service is running. When attempting to modify(create/edit/add) accounts, it crashes when kwalletd is not enabled. Workaround: enable kwallet for now.
On a side note: I am using Joomla with the metaweblog/movabletype XMLRPC bridge. When I try to add my blog, kblogger complains that it can't find the API. I tried feeding the site root, the xmlrpc page (with or without index.php) and tweaking the advanced options (I assume XMLRPC bridge should be the correct one but none of the options work). How to I get KBlogger to play along?
Addendum: switching from XMLRPC to Drupal or Wordpress gives me blog ID 13 (which is correct). However, the autoconfiguration will keep complaining. When ignoring the autoconfig, I can sync old articles (as long as they don't have media attached - that crashed kblogger) - but not categories are listed. When writing a new article, refreshing the category listing errors in "Unknown method". Because I am using Drupal or Wordpress as the backend type, this might mean it is calling the wrong function (WLW has no trouble getting the categories). Posting and trying to get the style results in "Invalid request payload xmlrpc element STRUCT cannot be child of PARAM"
Hi, I installed Kblogger 1.0 alpha2, but is not running. I try to run Kblogger from terminal and see this: Segmentation fault (core dumped)
This means most likely that there is some incompatibility inbetween KBlogger and your installation. You should at least send all information about your installation... and a backtrace if possible (you need a debug build for that). Cheers, whilo
I don't like the way the set publish date dialog is set in relation to the rest of the window, it's not at all clear what the relationship is between it and the publish checkbox. I think what you mean there is "if this box isn't checked, save it as a local draft, if it is, publish on the "set publish date," but it's very hard to parse, especially since westerners read left-to-right, so the set publish date dialog is the first thing you see. Maybe instead of having it under the composition pane, have it "slide in" under the publish checkbox when it is checked? Just a thought... -pd-
Publish decides if the post will be published on the server side. Sending always sends the post to a local draft "queue" (the draft item of the account in the left-side list-view) and the posts are only sent to the server if you hit "sync media and entries". Cheers, whilo
If you're interested, I did a quick-and-dirty review of KBlogger 1.0 alpha on my blog: http://guerrillatech.wordpress.com/2008/02/08/a-ten-minute-tour-of-kblogger-10-alpha/ I really like the interface, although I did run into some issues, and I look forward to seeing this project progress. Good work! -pd-
Thank you, it is wath i was looking for... Thanks for your job
Hi! Thanks for the work! - I am missing the configure-script... Did I miss anything else before that? Thanks so far - and have fun!
use "cmake ."
Hi, nice work. Here are some suggestions to make it even better: + Make it a KDE application instead of a Kicker plugin, why have a button in the taskbar when you could just have an icon in the systray and a keyboard command to make the window appear ? +++ Support editing posts, right now if i want to edit a post i made i have to use the web interface, but the API supports getting the posts too. So i could write a small draft when i have a break at work or an idea that comes up, then later i could improve it and finally publish it. All from kblogger :) + Support comment moderation. For this i do not know if it is possible with the APIs.