Eclipse/App Engine/Bloog Part 4, The hard part

Well I had a long and frustrating week/week-end, all sort of run together. I discovered that my new site would not take even moderately long articles. This is apparently a “known problem” and it relates to exploding indexes, as somewhat explained here.

I finally got to corresponding with one of the Bloog Maintainers who had it turned out created a modified site search capability using Google Site Search. According to him  it still does not provide for longer article without some code mods that I have not yet started. But is a prerequisite. I got a copy from Git-hub, where Bloog is hosted. This required that I get and install GIT version control system. I chose to start with Windows based  Git Extensions. It still required that you install the basic GIT. It is only available in Tar format you will need 7zip to unpack although after a posting the developer has now provided a “full” option for Git extensions.

I then tried to apply the new code to my existing Bloog version as I had modified it. That required a differential editor,which I did not have Kdiff3 turned out to be a great choice. It compares entire directory structures and than lets you click through the files and selectively choose to apply a, b to your revised file. Very cool.

I then tried to fire things up, FAIL. I then went back to the Version I had just obtained and I could not get it to fire up either. I then started to look for “real” debug information. Not much available.

Eventually I downloaded PYdev for Eclipse, and that was a major improvement  my entire development environment. In fact I would go so far to say Do not attempt development for APP-Engine without Pydev!! It provides a much better editor, code outlining and a runtime environment. There are several tutorials on setting up Eclipse for app-engine. Use them!!! Supposedly it also provides breakpoints, but I have not been able to get that working yet, but the other improvements are a major joy. The Debug environment did give me better log messages. Through which I was eventually able to make some headway. I found out that the two versions had changed the DB schema slightly so I had to delete a few older records You can see and modify the local datastore using http://localhost:8080/_ah/admin/datastore and bang it all started to work. It actually took a long time to go through each step, and I still have to go back and learn each of the new tools much better.

APP Engine Using Bloog Part 3 Upload the app

Well, after I got the framework for my new Blog (based on Bloog), going using my local debug server it was time to upload the app and get it live. The instructions simply said to run apcfg.py with a few parameters… Two issues, where to run the command and how to get all the parameters, I got some good help once again in the group. It turns out the command must be run in a Windows Command window, (not exactly intuitive but now that I know it it makes sense!) I placed my cmd window back to root using the cd\ command then ran c:appcfg.py update c:\Users\DadLaptop\Documents\tombrander Note that I did not have any spaces in my directory string, for some reason I could not get the cmd to work within a quoted string as one of the responders suggested, also it does not work in a bat file. Also a subsequent post suggested how I might be able to use cut and past in the Vista cmd window, as follows, (have not tried yet)

You can copy and paste by using the System menu of the window. You can open this menu by using Alt-Space or click on the top left icon in the titlebar (for a cmd window it is a small c:\) In this menu you find a submenu for clipboard operations. If you want to copy text to the clipboard you first have to “Mark” the text and then press “enter”.

Great, now the whole thing was on the internet and working, mostly. I did a few test posts. A bit later I tried the Mail and comment functions,,, FAIL, back to the groups…. I investigated myself and posted the logs,, I was beginning to wonder if the Gmail name in the config.py file was case sensitive… I changed it to all lower case and reran the Update function as discribed above and low and behold both the comments and mail function started to work! Now I have the basics going. Content and refinement to come!

Blooging on App Engine-Part 2

Well as the previous post says the Blog is up sort of. I solved two fairly tricky issues for me at least which I’ll document here.

As mentioned I’m Using the Bloog example, found here.

I wanted to replace the right most column with my own stuff, replacing the Silicon valley meet up badge and the Avatar in the upper right was pretty simple, just photo shop two images the same size and replace the old ones. Got some hints here on the developer site.

Look in the code (on Ads.html located in C:\Users\DadLaptop\Documents\tombrander\views\default\bloog) and replace the go to links….

I also wanted to put an rss display of my “shared items from Google reader that are tagged as Forensics” That was a bit harder to figure out, I wanted to use Django modules see my plea in the Bloog discussions, but I could not figure how to do that so I eventually found some code in Cpedialog that was doing something similar to what I wanted and found he was using a Google tool “Google Dynamic Feed Control”. I tried to lift his code but it was too integrated with his control panel so I just commented out the “Amazon” section of the ads.htm page and added my own code directly on the page. like so:  I also had to slightly alter the amazon section of the main CSS file to remove one margin so the layout was proper.

<div id=”amazon”>
This is where I plan to put Rss reader and Bookmarks!
<script src=”http://www.google.com/jsapi/&#8221;
type=”text/javascript”></script>
<script src=”http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.js&#8221;
type=”text/javascript”></script>

<style type=”text/css”>
@import url(“http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.css&#8221;);

#feedControl {
margin-top : 20px;
margin-left: 0;
margin-right: auto;
width : 220px;
font-size: 12px;
color: #9CADD0;
}
</style>

<script type=”text/javascript”>
function load() {
var feed =”http://feeds2.feedburner.com/SharedForensics&#8221;;
var options = {
numResults : 8}

new GFdynamicFeedControl(feed, “feedControl”, options );
}
google.load(“feeds”, “1”);
google.setOnLoadCallback(load);
</script>

</head>

<body>
<div id=”body”>

Then I was sort of ready to go, but don’t you know I could not figure out how to upload the darn thing.!! I’ll go through that next.

New Blog On App Engine

I Finally got my new “forensics” Blog up on App engine a free service from Google I have very slightly customized the Bloog Blog that is available from the links located elsewhere on this site. I also added my “Forensics Shared items feed” from Google reader over on the right>>>>>

I have a bunch more work to do but now at least the platform is working and I have some idea .of what I’m doing and what to do next!

I’ll document some of my pitfalls on the way once I have rested up a bit! For those who may want to give it a go.

Free Blogging at Google App Engine Using Bloog-part 1

This project is to help me get something of some substance up on app-engine to serve as a vehicle to learn Python and app-engine at the same time. If I was only interested in putting up a blog I’d keep on trucking with WordPress.com, I love it as a great Blogging platform. I evaluated the several frameworks available and for me it came down to Bloog and cpedialog. They both have advantages but for me I just sort of liked the basic layout and description of the Bloog approach better.

Step 1: See my prior article on getting Hello World going on App_engine.

After doing the initial tutorials outlined in my earlier piece on app engine. Then download Bloog here. I was not quite ready to load up client software to get the file out of GIT “properly” so I chose to just click the download button which gives you the file only in Tar format (no zip file) so you may need an unpacker, my native windows Vista 64 extract did not work so I downloaded a (freeware) unpack program called 7 zip from here. I unzipped the folders to my Documents directory.

I decided to run it directly, so without editing anything I made up a Bat file that started app engine on my local machine. The file:”startappengine.bat” contains:”dev_appserver.py C:\Users\DadLaptop\Documents\Bloog”

I got a screen of errors when I opened my browser at http://localhost:8080/

They appeared to be the same as discribed here.

I went to Http://github.com/darwin/firepython/ and clicked on download and selected the zip file, which I then unziped to bloog/utils/external and erased the old (empty) firepython folder and renamed the resulting folder to firepython.

I re-ran the autoexec file and reloaded the local host page and bang I had a operating site, Now I’ll work on some customizations before uploading to the real app engine!!!

Found most customizations in Config.py including customizing the links on the right side. But am still looking to replace the ad space on the right with a rss feed or two. My questions to the Bloog support group are here.