Jump to content
Kevin M

Personal Site Suggestions

Recommended Posts

I'm planning on working on my own personal site / portfolio sort of thing. I want to be challenged so I can try to improve my coding in many languages. So I want some suggestions on features/additions that I could add to a personal site, to not only test my coding, but also attract visitors and hopefully make them enjoy my site. To rephrase, what are the kinds of things you look for in a website that you would frequently visit? I want ideas. This is going to be my biggest project yet in the little while that I have been a developer. The things I already have planned in my head are these:

  • Change Page content With AJAX ***
  • Gallery and Blog/CMS Script (Made by me)
  • Nice valid layout, that looks good and users like
  • Ability for affiliation/links back (Like on some blogs)

***So that user doesn't have to change a whole page (which should cut down on loading time for Dial-Up users)So any other suggestions are welcome! Anything that you look for when you visit a website. Like usability, cool features/additions anything, even something like an RSS feed. I'm going to be spending quite a bit of time on this, probably months. I don't have a certain date set for anything, I just want to try and improve the best way I can, which would be to practise.Thanks a lot,Kevin :)

Share this post


Link to post
Share on other sites

Make an ultra flexible and dynamic CMS that uses AJAX, XSLT and stuff. That would use up half your brain

Share this post


Link to post
Share on other sites
Make an ultra flexible and dynamic CMS that uses AJAX, XSLT and stuff. That would use up half your brain
What he said+As for features, I would say building such a revolutionary CMS and making it available as a free download would be a very big project on it's own. I mean, I haven't heared of an open source XSLT driven CMS.If you want to make the next, next revolution, you need to think up of a good extension framework over the above, so that features could be added and removed as modules, instead of being "fixed" in the whole XSLT template or PHP engine. Most current CMSes don't have such a good one, making each of their mods compatable only with certain versions of the complete CMS. From commercial point of view, that's good, but for open source CMS that shouldn't be a requirement.

Share this post


Link to post
Share on other sites

I'm going to look at the XSLT tutorial at W3Schools later, hopefully I'll get a good idea on something that I can do. The first version of the CMS would probably just be for my own personal use, but as I get better, and it gets more developed I may make it available as an open source code. It all depends on how the first version goes though. I know this will take quite a while, but that's the whole idea of the project for me. Work really hard on it, and hopefully get a great output. I just hope I don't get in to it sort of "over my head" if you get what I mean. I haven't even started yet, except finding a few good colour schemes for the site layout.Anyway, thanks for the suggestion, I'm going to look into XSLT later. I think I have a fairly good idea about what it's for, but I have no idea how to use it. I was considering making the CMS XML/XSLT based. I've just got to learn a bit more about both (especially XSLT). I will keep you guys posted on how things are going.Any other suggestions about the CMS or anything are still welcome. :)

Share this post


Link to post
Share on other sites

Good CMS's are actually very tough to build!

Share this post


Link to post
Share on other sites
Good CMS's are actually very tough to build!
True, and even harder to not make one that doesn't look like a portal (endless amount of content blocks)

Share this post


Link to post
Share on other sites

I'm actually leaning more towards a news/blog system rather than a full CMS sort of thing. I've decided to store most of the data in XML files. Here's sort of that I have planned so far:

  • Form to submit news that inputs into XML file. Each seperate news/blog entry gets it's own seperate XML file
  • XML File would look something like this:

<?xml version="1.0" encoding="ISO-8859-1"?><entry><post id="1"><author>Kevin</author><date>Date</date><title>Title</title><content>Content of post</content></post><!--Comments Below--><comment id="1"><user>Name of poster</user><comment>Comment Here</comment><ip>User IP address (Not exactly sure how to get this)</ip></comment></entry>

Then I would select the nodes I want to display VIA XPath or XML DOM (Which is better??). Then with XSLT I would transform the XML file so that it would be readible in a XHTML File. Then in the XHTML, I would display the XSLT formatted version of the file.Does this sound possible, and if so is it somewhat of a good idea? That's not all obviously, just what I have right now.

Share this post


Link to post
Share on other sites

read and writing xml files is significantly slower than using a database. What happens when you get to 300 blog entries, you will have 3000 xml files....gross. If you insist on using xml then structure it like sql tables. All entries in one xml file, all comments in one file...Also how will you protect your xml files? If I know the path can I download it? I could take you user/password file and login into your blog as you.There are many reasons not to use XML, although I have considered the idea in hte past as a cross platform/hosting provider solution. In the end practicality won out and I used a database.Just my opinion though.

Share this post


Link to post
Share on other sites

Good points. I'm not sure if it's going to be worth having to excrypt files and other security measures that I would get from a database. For the log in and password, I could always use PHP and MySQL for that couldn't I? But still store the posts and comments in an XML file? The only reason I was planning on having more than one file was because I remember boen_robot saying in another topic that it would be faster to parse a ton of smaller XML files rather than a few huge ones. I'm still in planning mode as of right now, I'm not even 100% sure whether or not to use XML or a Database. I'll have to consider the pros and cons of each, and deside which I think will be the best to use.On a completely unrelated note, thanks for all the suggestions, I'm really learning a lot from everyone here. :)

Share this post


Link to post
Share on other sites

true parsing a small file compared to a large one would be faster but managing that many files would not be fun. Good Luck :)

Share this post


Link to post
Share on other sites

I think that lookng at the current technology you should use MySQL for database only!

Share this post


Link to post
Share on other sites

Cause querying XML files will take longer than that of SQL, and the blog will get bigger and bigger like 10,000 posts(which I know is very far away), it will take a lot of time

Share this post


Link to post
Share on other sites

I realise why you said to use a database but it sounded like you were saying to only ever use mysql and no other databases.

Share this post


Link to post
Share on other sites

No no! i am not that orthodox about it!

Share this post


Link to post
Share on other sites

Sounds like I may go with MySQL. XML just seems a big hard to manage if I were to have quite a large blog. For the older posts (say 1-2 months old) I was considering getting rid of the comments and storing more than one post in an XML file. But that would probably be more trouble than it's worth. Maybe I'll come back to some sort of XML/XSLT application in a few years when I have a lot more experience.

Share this post


Link to post
Share on other sites

lol imagine if your archiver made the slightest mistake in changing the xml...do you want to go debug and fix the xml by hand....ouch!XMl is great for storing configuration settings and other small sets of data but not very practical for large things like blogs/CMS.

Share this post


Link to post
Share on other sites

I think if I had to make a CMS I would go for either very small part in XML and rest in SQL!Or only a small XML file that has the link to the pages of the blogs and stuff!

Share this post


Link to post
Share on other sites

Good point, that would not be very fun to do. Looks like I'll be going with a database for this project at least. In future maybe I'll consider the alternative, but a database just seems like a better idea. Unless someone has an amazing way to store all of this without having all the hassle.

Share this post


Link to post
Share on other sites

A TXT file :)

Share this post


Link to post
Share on other sites

and the topic takes a turn for the worst...LOLXML was not created to be a database so it makes sense that a database would be the best choice :)

Share this post


Link to post
Share on other sites

then why was it created in the first place...was it like a scratch pad ... a place to keep preference or options?

Share this post


Link to post
Share on other sites
and the topic takes a turn for the worst...LOL
Lol. I guess I could store all of the data in files, that's what Cute News does. But I'm trying to expand my knowledge of stuff I already have a clue about, I have no idea how to do flat file storage.I'm going to start on the basic design and XHTML/CSS of the pages right now. I figured that would be a good place to start, then do the database/PHP stuff.

Share this post


Link to post
Share on other sites

Flat files are going the way of punch cards. Flat files were a great way to store data before databases were so easy to use. My first PHP application (a file manager I posted here not too long ago) was originally using flat files to store the login information. I replaced the code to open, read, and parse the flat file with literally a single line of code to do the same thing an easier way. Flat files are good for learning, but in practice their use is pretty limited, and that includes XML files. What happens if you have an XML file with 1000 records in it and you need to delete record number 500 and upate record number 700? You need to read the entire file in, parse it up (which takes a long time), find the places you want to change, make the changes, and write the file back out again. Granted, the XML libraries in PHP5 make actually doing this pretty easy, but it still takes the same amount of time. And there's no learning benefit in using the XML library, you might as well just use a database.The only thing I would use flat files for are for saving data that you want to move around (XML would be the best for that), or small files with settings and stuff that you wouldn't necessarily need to change very often, if at all. The file manager I mentioned also has a place where you can add whatever links you want, and it does store those in flat files. Looking back on it, the reason I did everything with files there was simply because I had never worked with a database and the thought of doing so was intimidating. It turns out that databases are way easier to use then parsing through text and writing it back out. And databases are much quicker, everything about a database is designed specifically to get data out quickly and efficiently.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...