Various technical articles, IT-related tutorials, software information, and development journals
Showing posts with label logofrag. Show all posts
Showing posts with label logofrag. Show all posts
Friday, November 1, 2013
Logofrag - Adding Frags
Well, I modulized a little bit more functionality used by the thread view of Logofrag. I scrapped the idea of having the user write one word in each text box and select both sides' punctuation for adding a frag. Instead, I'm going to let the entrants write freely and then press a "preview" button that will make sure no illegal characters are being used, check that the frag meets the length requirements, and figure out what is punctuation and what isn't. Once the user makes sure that Logofrag didn't destroy the formatting in the verification, the newly made visible Submit button is used to actually add the fragment. Also, I discovered that it might be easier for me to keep a User object in the Session instead of an ID; it's slightly annoying to have to constantly query the database to get a user's actual information.
Friday, October 25, 2013
Logofrag - Thread View
After an insane amount of coding, I believe I have finished the basic thread view. I'm not actually sure how well it displays the frags (since I have not yet made a page to add them), but it does correctly create the thread information section and judge the capabilities of the user. Before creating the detail view page, I'm going to do the frag-adding one. I also fixed the CSS, finally making the margins make sense.
Sunday, October 13, 2013
Logofrag - XSS Alert Page
One of the critical functions of Logofrag is viewing threads. So, I started actually writing the code-behind to render the thread page today. Since I remembered that I was going to display a warning if angle brackets or ampersands were allowed in fragments (because possible XSS vulnerability), that was the first thing I implemented. There is now a very nice alert when accessing such a thread.
Wednesday, October 2, 2013
Logofrag - Fixed the Session
As I predicted, work on Logofrag is going along very slowly (something to do with schoolwork being so time-consuming and Etho being so entertaining). I did some reading of the MSDN ASP.NET docs and discovered that, unlike Request.QueryString, Session items are Nothing by default. I had been doing all kinds of stuff to see if it existed, make sure it was an integer, and parse it appropriately. That was useless because I could just shove an Int32 into it and then retrieve that exact same value later. So, I went through the small codebase and removed the string-parsing logic from accesses to the logged-in user ID. Progress!
Sunday, September 29, 2013
Logofrag - Thread ACLs
I did commit to dropping the thread properties editing functionality. It was being strange and difficult to work on, so it simply will not be a thing. Instead, I moved ACL control to its own page, which will be accessible from a moderator control panel in the thread. I did a little bit of checking around the database and determined that it's best to simply try to occupy permission ID #1 first and if it's taken, use the maximum plus one. Eventually, the table will waste lots of IDs, but I'm thinking of implementing a "pack database" button for administrators. The thread ACL control works very nicely. Tick the boxes next to an ACL entry to remove it and type a name in the text box under the list to add it.
Thursday, September 26, 2013
Logofrag - Abandon Edit Ship
Debugging the edit-thread functionality has become infuriating. As such, I have decided to split it into its own page, possibly dropping support for all attributes except ACLs. It doesn't really make sense to allow people to write exceedingly long fragments after the thread had already been going with short ones. Modifying the permissions will have to be possible. Once this is finally out of the way, I can develop useful things like thread view, fragment adding, and user profile pages.
Wednesday, September 25, 2013
Logofrag - Edit Rage
I did even more head pounding and determined that the approach I created last post is not useful in Logofrag. I have tried tons of ways over the past three days to allow thread properties to be edited by the moderators, but it won't work properly. I just now got it back to a state in which thread creation works and made editing not crash the server. Editing does, however, duplicate the ACL entries and has no effect on other properties. I am getting very frustrated with this project, but I'm sure it will only take another day or two before I break past this issue and actually start doing things.
Sunday, September 22, 2013
Logofrag - Threads
LINQ/SQL is more of a pain that I had originally thought. It requires me to figure out the next available primary key and won't allow me to access foreign key relationships as collections without them. I did manage to slog through coding-behind the thread moderator interface. Users can now create new threads and possibly reopen the properties of old ones (I haven't tested that yet). After repairing all the database things, I added a "permission denied" page that is shown when users attempt to use query string manipulation to access things they can't.
Friday, September 20, 2013
Logofrag - Index and Creation
Logofrag development is going along very easily! I like these kind of projects because there's not going to be any bang-head-against-wall frustration, but it will be an interesting challenge to complete. Today, I wrote the code-behind to create a table of threads sorted by time updated, 50 per page. I've actually never done anything with pages before, but it was pretty easy. I also started the front-end of the page to create a new thread, which is one of the essential functions. The database is being changed as I create pages -- the ability of Visual Studio to drop and recreate tables while making it seem like a normal change is amazing.
Monday, September 16, 2013
Logofrag - The Database
Since I have a lot of schoolwork, Logofrag won't get developed very quickly. However, I have created the database - using SQL this time. I learned my lesson about custom data formats for web applications; they are way more of a hassle than they're worth. LINQ is going to make it amazingly easy to manipulate user data inside the strange world of SQL. Besides getting the database ready, I also prepared the master page that will provide the consistent style across the site. I'm going for a clean, streamlined, old-school look.
Saturday, September 14, 2013
Introducing Logofrag!
I've seen the three-word story game (you know, the game where each person extends the collaborative story by three words?) played on multiple online forums. Every time, someone misunderstands the English language (or intentionally messes up the structure) and, since the forum's admins aren't responsible for the content of those posts, the people actually wanting to advance the story have a problem.
So, I'd like to use my knowledge of ASP .NET to create a website just for this game! I'd like to name it "Logofrag" because everyone contributes a fragment of the the logos. People could start different stories with different subjects and rules -- and then moderate their own threads! Since different people might have different ideas of what counts as a word, how many people must post between two posts of the same person, and other things, there would have to be many options for everyone to get what they want. It seems pretty simple and I'm willing to dedicate a tiny slice of my free time to creating this.
So, I'd like to use my knowledge of ASP .NET to create a website just for this game! I'd like to name it "Logofrag" because everyone contributes a fragment of the the logos. People could start different stories with different subjects and rules -- and then moderate their own threads! Since different people might have different ideas of what counts as a word, how many people must post between two posts of the same person, and other things, there would have to be many options for everyone to get what they want. It seems pretty simple and I'm willing to dedicate a tiny slice of my free time to creating this.
Subscribe to:
Posts (Atom)