<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0">
<channel>
	<title><![CDATA[Michael's Blog]]></title>
	<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&req=showblog&blogid=9]]></link>
	<description><![CDATA[Michael's Blog Syndication]]></description>
	<pubDate>Tue, 10 Feb 2009 11:16:03 -0500</pubDate>
	<webMaster>michael.mccune@gmail.com (Invision Modding)</webMaster>
	<generator>IP.Blog</generator>
	<ttl>60</ttl>
	<item>
		<title>Doing web work for your family</title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=166]]></link>
		<category></category>
		<description><![CDATA[So my wife asked me recently to make a website for her.  She is in to Fan Fiction and frequents certain sites, but she genre she is really in to does not seem to have a dedicated site for it, rather the various stories that would fit into this genre are spread out to various other sites.  So of course, I say I will come to her rescue and make her a website for this.  After all, if I do a good job, I figure I may get rewarded in kind for my efforts. <img src="http://www.invisionmodding.com/style_emoticons/default/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" /><br /><br />I've been working on this site for her for a while, and it's looking really good if I do say so myself.  It's the first big project I've ever done starting off with Firefox and the various tools it has for web developers, and it has helped a lot.  I can see as I work that all of my pages are validated, the source code is beautiful with proper indentation, no inline style declaration, no use of tables for anything but actual tabular data, nice semantic code and all that.  Full PHP error reporting is turned on and all errors are dealt with.  It's just overall a great little platform for her site, fully custom made so that I can add things in that she wants.<br /><br />The problem is, whenever I ask for advice on how it should work, the response is inevitably "just do whatever this other site does".  The other sites she frequents are running using <a href="http://www.efiction.org/" target="_blank">eFiction</a>, a free PHP story archiving software.  So after about the tenth time hearing that I should just do what they do, I finally ask if she just wants eFiction instead of this software I'm developing.  No, she says, she likes the custom work I'm doing.<br /><br />I'm fine doing this work for her, but this is the sort of thing that, as a web developer, I don't like from my clients.  Is it too much to ask that you have your own thoughts on how you want your site to work?  We get this a lot in the IP.Board community too: "vBulletin has a mod that does this, can someone make an IP.Board mod that does the same thing?".  What is the point, really, of us all just copying off of each other?  That makes all of our sites the same, and then there's nothing unique to attract users, users could just go to a dozen different places to find the same thing.<br /><br />Maybe this is a bit of a rant, but I'm sure we've all experienced something a bit like this from time to time.]]></description>
		<pubDate>Tue, 10 Feb 2009 10:56:00 -0500</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=166]]></guid>
	</item>
	<item>
		<title><![CDATA[Mod Making "Nevers"]]></title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=157]]></link>
		<category>IP.Board Modding</category>
		<description><![CDATA[Many years ago, a bright-eyed young modder named FuSoYa compiled a list of the most common mistakes modders make in their products.  Over time, this list was lost in some forgotten corner of the internet.  Today this list was found again, I am publishing it here because this list will be the basis of another future project of this site, and I don't want to lose this info again. <img src="http://www.invisionmodding.com/style_emoticons/default/laugh.gif" style="vertical-align:middle" emoid=":lol:" border="0" alt="laugh.gif" /><br /><br />******************************<br /><br />Here is a list I just threw together of some bad habits I have seen on how some mods are being written. Each of these items is something that, as a mod maker, you should always try to avoid doing. There are probably others, but I think this list is a good place to start. Oh, and these are all IPB 2.x specific, a couple of these are OK to get away with in IPB 1.x.<br /><br /><b>Never edit a skin file directly</b><br />In IPB 2.x, you should never be editing a skin file directly, there is big text at the top of these files that says this. You should always give instructions to edit the skins via the ACP if they are just edits, or make an installer that will add template bits if some needed added. The reason for this is that if you edit a skin file, then later go back and edit this same skin file via the ACP, your first edit will be overwritten.<br /><br /><b>Never just include a skin file to upload</b><br />Like above, all skin edits should be done via the ACP. If you just give the skin file, then people won't be able to edit it via the ACP, they'll have to edit the file. While you can technically get away with this, it is sloppy. Make an installer that will create this skin file, there are plenty of mod makers out there already that do this that you can base your installer's code on.<br /><br /><b>Never hard-code text</b><br />You should never hard code text (actual words that would be seen on the screen) in the skin templates or source files. Text should always be stored in the language files. Not everyone runs an English language board, or even a board that just uses a single language, they have to be able to localize whatever text your mod is going to produce into whatever language they are using.<br /><br /><b>Never hard-code HTML</b><br />Kind of like above, you should never have sections of your mod's source code that does something like return a string that is HTML code in order to get something to print out on the screen. Have it return a skin template that they can edit via the ACP. Not everyone uses as skin that will look good using the HTML structure that the IPB Default Skin uses (which is what most mod makers use to base their own mods HTML on), and most places aren't using just one skin. People have to be able to use your mod on whatever skin they have, and be able to customize any HTML elements via their skin templates.<br /><br /><b>Never make your mods 'obvious', code/file-wise</b><br />It's good practice to make your code flow with the rest of the code, don't make your sections stick out like a sore thumb. Likewise, use the default file structure that IPB has instead of making your own folders and such to put files in. Doing it otherwise is sloppy and disorganized. If you continue with mod making into some sort of professional development-type job, you'll find companies can be sticklers for keeping stuff organized.<br /><br /><b>Never make the people installing have to edit files when they don't need to</b><br />The fewer edits people have to make, the better. If you have to edit a file, try to keep all of the code together into one block. If it's a huge block, put it in an external file and call it that way. Try to use the module/component system so that people don't have to edit as many files. If a mod just has people upload files and run an installer, people will love it.<br /><br /><b>Never make the people installing have to run queries manually</b><br />Making an installer that will run a couple of queries is easy, don't tell people to run manual queries in their MySQL Toolbox. There are plenty of installer files in our database to look at that will give you the basic code to connect to the database to run queries, people are a lot more willing to upload and run files than they are to log in to their ACP and run a query.<br /><br /><b>Never use variables that people can't understand</b><br />If you're going to use variables, make them easy enough to understand. People may want to build upon your mod, and if you are using an $ipsclass-&gt;vars called something like 'o_n_t', people are not going to readily understand what that stands for.<br /><br /><b>Never make an installer that gives no feedback</b><br />If you have to make an installer to do some database work, at least make sure it spits out something understandable to the end user when it is done. Don't make an installer that just sits there on a white screen when it is done. People aren't sure what the white screen means, and they may try to re-run it.<br /><br /><b>Never add to conf_global.php or ipb_templates.xml</b><br />These files never need to be edited for any reason. conf_global.php now only stores a very select set of settings, you can edit what is in there in case you move servers or something, but there is really no reason why you'd want to add a setting to there. Same with ipb_templates.xml, it is an XML holding the master skin templates, but that stuff is in the database too. You can make an installer that will add to the database copy of the master skin set, and then recache the children skins to get these changes, you should leave this ipb_templates.xml file intact because you never know when you'll need to determine which skin templates are 'really' the default.<br /><br />******************************<br /><br />Years later, much of this list is still valid, and many of those mod making problems are still being committed.  Expect at some point to see this list updated with fresh new IPB3 information and actually put to a good use. <img src="http://www.invisionmodding.com/style_emoticons/default/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />]]></description>
		<pubDate>Tue, 13 Jan 2009 12:07:00 -0500</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=157]]></guid>
	</item>
	<item>
		<title>Things not going so great...</title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=152]]></link>
		<category>Personal Finance</category>
		<description><![CDATA[Our snowball plan is starting to fall apart, there is no extra money for anything to make a snowball anymore.  As I mentioned in the comments section of the last entry in this category, we had to pay $600 to fix one renter's furnace, $450 for another renter's water heater, and several hundred dollars more on fixing broken watering troughs for the horses.  And then just yesterday, the furnace that we already put $600 in just last month quit working again, and we have to pay another $600 to fix it.  Some switch or something in it was the wrong kind and caused some electrical problems in it, unrelated to the last problem, so no chance of getting them to just fix it as part of the original issue.  That's $1200 we've put into that furnace in the space of about a month.<br /><br />On top of this, my current job does not give a Christmas bonus, but we're still expected to buy presents for everyone.  I don't honestly know where Nichole conjures up the money to pay for Christmas and these expenses, because I'm pretty sure we can't really even afford to make all of our monthly payments this month.  Where's our bailout? <img src="http://www.invisionmodding.com/style_emoticons/default/wacko.gif" style="vertical-align:middle" emoid=":wacko:" border="0" alt="wacko.gif" />]]></description>
		<pubDate>Wed, 24 Dec 2008 10:35:00 -0500</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=152]]></guid>
	</item>
	<item>
		<title><![CDATA[The BCS still doesn't work]]></title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=149]]></link>
		<category></category>
		<description><![CDATA[I <a href="http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=85" target="_blank">blogged about this</a> about the same time last year, and with it being that time of the year again where the BCS race is heating up, and given the recent <a href="http://sports.espn.go.com/ncf/news/story?id=3704864" target="_blank">fuel added to the fire</a> by our new President Elect, I think it's time to talk about this again.  At least it will help me get a few more ideas off my chest.<br /><br />As some of you know, I'm a pretty big college football fan.  I live in Columbus, OH, home of the Ohio State Buckeyes, so college football has been ever present in my life for a long time.  Yes, my beloved Buckeyes have stunk it up in the past two national championship games, but I maintain we didn't deserve to even be there last year.  2006, though, that one upsets me that we did so poorly.  We're 9-2 this year, looking to beat Michigan for the fifth straight year (never thought I'd say that!), and actually have an outside chance to go to the Rose Bowl.  The Buckeyes are my team, but even if they aren't the best in the country, I still love following all of what goes on in the game.<br /><br />Like many fans of college football, though, I am disappointed with the way the national champion is determined.  I truly do feel that the BCS system that we currently have in place is not the answer.  It is good, better than any system we'd have so far, but a playoff would be better, and I'm prepared to back that statement up.<br /><br />Prior to the BCS, the national champion was determined by a poll after all of the bowl games concluded.  Sportswriters or coaches voted on who they thought the champion was, depending on the poll.  Most of the times they agreed, many times they didn't, and often there'd be teams that went unbeaten and didn't get a national championship.  The problem with this solution is fairly obvious: the champion is determined based on votes, not based on a championship game.  For years, the champions of a couple of the top conferences, the Big 10 and Pacific 10, played in the Rose Bowl.  Other major conferences sent their champions to other bowl games.  So a team could win all of their games in a conference like the SEC, and not get to play a team that won all of their games in the Pacific 10, thus people would have to vote which of those teams was better.  Consider what would have happened in the NFL last year if they just voted for a champion at the end of the season instead of playing the Super Bowl: the Patriots would have won the championship.  The championship should be decided on the field, not by people voting for who they think is best.<br /><br />Starting in the 1998 season, the <a href="http://en.wikipedia.org/wiki/Bowl_Championship_Series" target="_blank">BCS</a> was introduced.  It was a formula used to more effectively rank teams based not only on the human polls, but also various computer polls.  It used this ranking to try and figure out who were the 2 best teams and match them up in a championship game, and also to create match ups for the other major bowl games.<br /><br />There were several advantages to this system, the first being that it could create match ups like what we saw at the end of the 2005-06 season where Texas from the Big 12 played USC from the Pacific 10.  In previous years USC would have played the Big 10 champ in the Rose Bowl, while Texas would have played who knows in the Fiesta Bowl.  Because of the BCS we got to see these two teams, undoubtedly the two best teams in the country that year, settle the national championship debate on the field.  However, there were other years in which there was some controversy.  In 2003, there were three teams that finished the regular season with 1 loss: USC, LSU, and Oklahoma.  USC was ranked first in the human polls, but 3rd in the BCS standings, thus putting LSU against Oklahoma for the championship.  When USC won their bowl game, the human polls kept them at #1, but LSU was officially the champions.  The following year there were 4 teams with no losses going into the bowl games: USC, Oklahoma, Auburn, and Utah.  The BCS put USC against Oklahoma for the championship (where USC won), while Auburn and Utah both won their games to also finish the season unbeaten.  Similarly, in the 2006-07 season, Boise State was the only team to go unbeaten, but that year Florida won the championship.<br /><br />The reason that teams like Utah and Boise State play through their seasons unbeaten yet not get a chance to play for the championship is one of the big flaws in the BCS system.  The top level of college football, known as the Football Bowl Subdivision (FBS), or formerly Division 1A, is made up of 11 conferences: ACC, Big 12, Big East, Big 10, Pacific 10, SEC, Conference USA, Mid-American, Mountain West, Sun Belt & WAC.  Of those 11, the first 6 are what is known as "BCS conferences", meaning their conference champions will automatically go to one of the big BCS bowls or the championship games.  Champions from the other conferences can get into the BCS games, but they typically have to go unbeaten to do so (which is not the case for a team from a BCS conference), and their chances of actually getting into the BCS championship game even when going unbeaten is essentially 0.  This is because those BCS conferences are considered higher quality than the others.  Thus, the competition in those BCS conferences is better, so it's reasonable to assume that only losing once in the Big 12 is better than not losing at all in the Mountain West.  That is debatable, but the upshot of it is that teams from a non-BCS conference are essentially not eligible for the national championship.  It would likely take one of those teams to go unbeaten and then there not be any more than a single team in a BCS conference with less than 2 losses.<br /><br />So the situation we have ourselves in is that there are, in essence, 2 tiers of teams: those who could play for the national championship, and those who play their hearts out for a shot at playing in a lesser bowl game.  My personal feeling on this is that if that's going to be the case, we should literally split those two sets of conferences out into separate divisions; a team should not be closed out of the opportunity of proving they are the best based solely on the conference they are in.  This is why I feel that any sort of system that determines a national champion should include, at the minimum, the 11 teams that win their conference.  Or, if we're going to split the conferences up into separate divisions, we still have 6 teams to consider.  But let's go with the current organization of the conferences and divisions at this point.  It is interesting to note that in the 2001-02 season, Colorado won the Big 12 conference, yet the team they beat to win that conference was instead invited to play for the nation championship: Nebraska.<br /><br />One of the chief arguments the pro-BCS camp has been throwing around recently is the following.  This is a quote from the BCS coordinator John Swofford in response to Obama's support of a college football playoff:<br /><br /><!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->For now, our constituencies -- and I know he understands constituencies -- have settled on the current BCS system, which the majority believe is the best system yet to determine a national champion while also maintaining the college football regular season as the best and most meaningful in sports.<!--QuoteEnd--></div><!--QuoteEEnd--><br />Source: <a href="http://sports.espn.go.com/ncf/news/story?id=3708348" target="_blank">http://sports.espn.go.com/ncf/news/story?id=3708348</a><br /><br />The argument here is that the BCS makes the college football regular season the most exciting in any sport.  This is because in order to get to that championship game, a team can't afford a letdown; the whole season is like a playoff.  But evidence has shown that this isn't necessarily true.  Of the 10 national champions crowned by the BCS, only 7 of those champions finished the year unbeaten.  Thus, 3 times it has occurred that a team did in fact have one of those letdowns during the season that would have eliminated them if the regular season were truly one long playoff, LSU last year actually lost twice yet still was crowned the champions.<br /><br />So how exciting does this "season as a playoff" environment make the sport?  Consider where we're at right now.  With everyone's regular season winding down, we have 2 teams from BCS conferences currently unbeaten: Alabama and Texas Tech.  Rightly so, they are ranked 1-2 in the BCS, and would play each other in the national championship game provided they just keep winning.  Both teams belong to conferences that are split into 2 divisions, with a conference championship game to determine who wins the conference.  Winning those games will be a tall order, though; Alabama will be playing the team currently ranked 4th in the BCS (Florida) in their championship game, while Texas Tech still has to play the team currently ranked 5th (Oklahoma) before they can even assure themselves of playing for their conference championship, which would be against Missouri.  You also have a Texas team ranked #3, which has lost to Texas Tech this year, but could play into the championship discussion depending on how the remaining games play out.  If recent history is any indication, we are in for some changes to these rankings in the final weeks; Alabama and Texas Tech should not be preparing for each other just yet.<br /><br />So realistically there are 5 teams that are looking for a shot at that championship game.  A couple other outsiders may sneak up there depending on the remaining games, let's say there are 8 different teams in all who still have hopes of getting to that game.  Pretty exciting, sure, but under a system that awarded all conference champions a shot at the national championship, there would be, by my own calculations, 48 teams still with a mathematical shot of winning their conference and getting there.  Now that's way more exciting.  So teams like Maryland, Cincinnati, Ball State, Utah, and Boise State would still have a chance to play for something other than a second-tier bowl game.<br /><br />The system I propose is pretty straightforward, and essentially the same as what I stated last year: a 16 team, single elimination playoff.  Win your conference and you automatically get into the playoffs.  The other 5 spots would be filled by the highest ranked teams who did not win their conferences.  No more than 2 teams per conference in the playoffs.  Losing a conference championship game should not be a thing that keeps you from joining the playoffs; it shouldn't drop you below another team from your conference who didn't have to play in the championship game.  First round games could be played at the field of the higher ranked team.  Second round games could each be one of the BCS bowl games (Rose, Orange, Sugar, and Fiesta).  The semifinals and finals could be played at a different site every year, like the college basketball final 4 does it.<br /><br />All other levels of college football have a playoff, it's about time the top level follows suit.  I don't see how this would not be more exciting than the current system.  There is plenty of time to fit this between the end of the regular season and the end of the bowl season as we have it today; in the past two years Ohio State has had something like 5 weeks off each season before playing the championship game.  Reduce the number of games in the regular season if 4 extra games is too many, although, like I said the other divisions manage to play this many extra games.  It's gonna happen someday, let's just do it and finally settle this debate on the field.]]></description>
		<pubDate>Wed, 19 Nov 2008 10:31:00 -0500</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=149]]></guid>
	</item>
	<item>
		<title>The CSC and IP.Board 3.0</title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=147]]></link>
		<category>CSC Development</category>
		<description><![CDATA[In case you hadn't noticed, new developments on the CSC have not been forthcoming lately.  This is due to a couple of reasons, and I just wanted to talk about them so that you don't get the idea that this whole CSC idea was just vaporware.<br /><br />First, the most obvious reason for this delay has just been my schedule.  As most of you know, I am an adult with a full time job, a home based business boarding horses, rental properties, and a wife.  I only do IP.Board related stuff when I have time.  Lately, most of my free time has been spent trying to keep fixing up our house.  With the colder weather moving in, we have had to devote a lot of time cleaning up our basement that the previous owner did a botched job of "finishing"; the cinder block walls were covered with 2x4s, insulation, and drywall, but the walls themselves were never sealed to keep the moisture out.  We have had to rip out all of these walls he added, kill the mold, drylock them, and clean up so that when we do turn on the furnace we aren't circulating all of the basement mold throughout the house.  So when I get home from work in the evenings, and on the weekends, that's typically what I'm working on instead of coding the CSC.<br /><br />Another factor that has me less inclined to devote huge chunks of my time to CSC development is the fact that IP.Board 3.0 will be out soon.  I have seen the Customer Preview of this, and have doen a lot of thinking about how the CSC will work on this, it's really going to take major changes to get things working properly on the new forum software version.  So for me to spend more time getting this ready will really be a lot of wasted time right now as I'll just have to redo things.  I still have the code where I'm at right now, and am still planning features, but am not actively adding code at this time.<br /><br />My current plan is to pick this back up once IP.Board 3.0 comes out, and I have my other stuff upgraded.  It's really actually quite close to being publicly visible ready in its current form as it is, so I wouldn't expect it to be much longer after IP.Board 3.0 comes out that I can preview the CSC to the public.  In the meantime, please please please don't hesitate to give me feedback, ask me questions, make suggestions, etc.  I really want people to let me know what they will want this product to do, so anything I can do to facilitate that I will. <img src="http://www.invisionmodding.com/style_emoticons/default/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />]]></description>
		<pubDate>Wed, 12 Nov 2008 10:30:00 -0500</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=147]]></guid>
	</item>
	<item>
		<title>Several accounts paid off</title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=143]]></link>
		<category>Personal Finance</category>
		<description><![CDATA[Last month we successfully paid off our Amazon account, JC Penney, and Ann Taylor cards.  This month we just paid off one of our two Lowes accounts.  That's about $1400 of debt removed in two months time.  Next month we're going to see if we can pay off Best Buy, about another $800-900 of debt.<br /><br />So far, the plan is working pretty well.  One thing that has us nervous is our Bank Of America account has been getting less than the 'minimum' payment amount so we can throw that money at clearing out other, smaller, debts.  They have called us about this and don't approve, obviously, but with them being one of the biggest debts, they're going to get paid last.  It may negatively affect our credit rating, but the whole goal here is to get out from under credit debt and just start using cash, so we're not freaking out about it (yet).]]></description>
		<pubDate>Sun, 02 Nov 2008 16:49:00 -0500</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=143]]></guid>
	</item>
	<item>
		<title>Getting out of debt - the beginning</title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=139]]></link>
		<category>Personal Finance</category>
		<description><![CDATA[OK, so this is the first entry in my blog for this new Personal Finance category.  The idea behind this grew out of a discussion Nichole and I had after work on Friday night.<br /><br />She and I, like many Americans, are pretty deeply in dept.  We each have student loans for our educations; she has about $90,000 and I have something like $46,000.  She has two Masters degrees and is working on her PhD right now, I just have the Bachelors but went to a much more expensive (but not necessarily better!) school.  We have many credit cards, none with an insane amount of money on them, but it's several thousand there all told.  We also have our mortgage on our old house which is being rented, and our mortgage on the current property (3 houses, 14 acres, horse boarding buildings, etc.).  The horse boarding business itself and the rent on the 2 houses on this property just pays the mortgage on that business, so for all intents and purposes we should consider all of that balancing out.  There are also lines of credit we have, one of which is up to $30,000.  We don't live in the lap of luxury, neither one of us has a new car, our house has no nice furniture in it, we don't have a lot of gadgets, etc., so it's not like we've gotten in dept by buying jet-skis on a whim or something silly like that.  Life is just very expensive, and stuff comes up that you have to throw large sums of money at every so often.  She and I both work for the State (as we both work at State Universities) so we have some retirement money coming there eventually, but that's all we have for our retirement; there's never enough money to actually set aside for that.<br /><br />Frankly, with the way the economy has been lately, our condition scares us to death, and we're trying to come up with a plan to deal with our mounting debt.  I decided to create this blog category to track our progress, to maybe bounce ideas off of others, and maybe help give other people ideas on how to fix these problems they may be having.<br /><br />One of our first goals is to sit down and figure out what all of our debts are.  The way we can best reduce these debts is by 'snowballing' payments to them.  The idea there is to pay off the individual debts with the lowest balance first, and then cancel that account.  While you are making large lump sum payments to those lower balance bills, you make minimum, or even less than minimum (as long as you pay something) payments to all the others each month.  As you pay off individual accounts, that becomes one less payment you have to make each month, giving you more to pay the others with, thus the snowball metaphor.<br /><br />Another goal of ours to give us more money to play with is to see what expenses we can cut.  Do we really need cell phones and a house phone?  Can we get by without cable TV for a while?  Do we need the Blockbuster monthly membership?  These are sorts of things that if you can cut will give you more money to pay bills with.  So we just have to sit down and decide which of our expenses we can cut.<br /><br />Once we have sat down and figured out all of our monthly expenses and what can be cut, and our total debts, I'll post a new entry detailing these numbers so we have the baseline to work from.  Wish us luck!]]></description>
		<pubDate>Mon, 13 Oct 2008 12:54:00 -0400</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=139]]></guid>
	</item>
	<item>
		<title>Profile Fields</title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=136]]></link>
		<category>CSC Development</category>
		<description><![CDATA[As the Profile pages are getting all the work right now (and rightly so!), the question has come up as to how to manage who can view what profile information.  The goal is relatively simple: Staff can view everything, Clients can view everything on their own profiles that aren't designated Staff-only, Clients can only view items on others' profiles that are public.  Achieving this goal will take a bit of effort.<br /><br />In previous iterations of this mod, each field had a 'staff only' flag on it.  This was something that could be set to Yes for fields that only should be visible to staff members, and not visible to any clients.  A simple example of why one would want to use this field would be staff notes: something like "this guy is notoriously difficult to work with, be wary when agreeing to do anything for him".  This type of field can be a great help for staff members to be able to record this kind of private information about clients, but not squirreling it away to some place they'd have to go into the ACP to see.  If a field is not flagged as 'staff only', then anyone else could see it.<br /><br />I was going with this concept, until I came up with the idea to have a 'member list' and let Clients view other Clients' profiles.  Before, your average Client wouldn't be able to view another Client's page, so protecting potentially sensitive information like passwords wasn't necessary, but now it is.  To achieve this, the old 'staff only' type of field (which was just a boolean) needs to be changed to a 'field protection level' setting.  This setting will have three choices:<br /><ol type='1'><li>Unprotected (visible to all clients and staff)</li><li>Protected (visible to staff and to that client)</li><li>Hidden (visible to staff only)</li></ol>With this format, profiles can be set up to allow some basic public information, hold private info for users to alter and for the staff to see, and also hold staff data that no clients should see.  This makes the profiles very flexible, as any field you create gets to set this value.  Fields that Clients don't have access to will appear to simply not exist. <img src="http://www.invisionmodding.com/style_emoticons/default/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" /><br /><br />Feedback is of course welcome, if anyone sees any scenarious that such a setup suggested above wouldn't cover.]]></description>
		<pubDate>Tue, 09 Sep 2008 15:41:00 -0400</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=136]]></guid>
	</item>
	<item>
		<title>Version 0.3.0 installed on test site</title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=135]]></link>
		<category>CSC Development</category>
		<description><![CDATA[Just posting this to let you know I have installed version 0.3.0 of the CSC up on the Testing grounds.  New in this version is the first attempts at the new style of profile page I'm going for, which is a 3-tabbed profile page for staff and the profile owner, and 1-tab (of the public profile) for everyone else.  I have also consolidated some of my 'classification' plans into a simpler model.  I'll see how that works out as development continues.<br /><br />Be warned, the profiles right now are very basic, I was only trying to get the tabbed layout working in this version, so don't expect any interactivity inside the tab to be working (no editing fields right now, which, I understand, handicaps you from doing a whole lot).  Just make sure the tabs themselves work, and that you can visit other members' profiles, and that you have the correct number of tabs showing.<br /><br />Please note, I have been writing up my first public announcement of this component; I am planning on letting the world know about this soon.  It will still be some time before it is released, but I need to start getting more feedback on this so I have some direction on where to go with some things.  Expect me to make this announcement sometime between now and next Friday.  When I do that, I will also be making this Blog category public so others can see what has been done so far and for them to give me feedback.  I'll also probably add a forum to this site for feedback if that's necessary.<br /><br />So please, take some time to check out the new version and give it the last private once-over before everyone else gets to see it. <img src="http://www.invisionmodding.com/style_emoticons/default/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />]]></description>
		<pubDate>Fri, 05 Sep 2008 15:26:00 -0400</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=135]]></guid>
	</item>
	<item>
		<title><![CDATA[How do you define 'staff'?]]></title>
		<link><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=134]]></link>
		<category>CSC Development</category>
		<description><![CDATA[Continuing with our theme earlier of <a href="http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=127" target="_blank">Classifications</a>, I'd like to try and simplify this concept.  What I'd like to do is to try and come up with a concise way of saying "you are staff" or "you are not staff".  I want to run a few things by you and hopefully get some feedback about what I'm proposing.<br /><br />First off, do we need to say a member is staff only in the context of a plugin, or is it always going to be a simple question of your are staff or you are not?  For example, I might create a setting for each user group that says "this is a staff group".  If I set this to No for the Members group, but then I also have one Member who I want to be staff in my Shops plugin, is he staff when it comes to looking at members' public profiles, meaning he would then have the option to view staff-only fields or to make changes?  One would be inclined to say Yes to that question, I should think.<br /><br />Going with a Yes there, I think we end up with the following as the logical setup for saying who is staff and who isn't.  Each group should have a yes/no setting for the Core group permissions that says whether the group is a staff member or not.  This setting is global, and cannot be overridden by plugin permissions.  Each plugin then would have the option of adding additional groups and/or members (although right now I can't see why a plugin would need to add a whole group).  Then, the Core component needs a library function to return whether a particular member is staff or not.  It will check the Core group permissions and return true if they are in one of those groups.  Otherwise, it will loop through each installed plugin and call a library function that that plugin needs to create to return its staff groups/members.  As soon as something says "this dude is staff", the Core function returns its true value, otherwise it will keep checking each plugin and eventually return false if they aren't a staff in any of them.<br /><br />I really do need some feedback on this pretty quickly, as I have to start coding things that check for whether the person viewing the page is staff or not.  Please do ask questions if any of this is confusing.]]></description>
		<pubDate>Mon, 01 Sep 2008 18:06:00 -0400</pubDate>
		<guid><![CDATA[http://www.invisionmodding.com/index.php?autocom=blog&blogid=9&showentry=134]]></guid>
	</item>
</channel>
</rss>
