Modular Concept

Snitz™ Forums 2000
https://forum.snitz.com/forumTopic/Posts/70720?pagenum=1
05 November 2025, 01:32

Topic


Carefree
Modular Concept
14 March 2014, 14:04


Outgoing internet connection here is too slow to upload a file of this size (just over 100 MB, since it contains avatars, flash games, etc.) into SnitzBitz. Since SnitzBitz doesn't show the progress of uploads, I cannot tell if the upload will time out. Thus I've chosen to put it on Google Drive instead.

I duplicated a later reply above so that the latest link to obtain the package will always be at the first page instead of making people search for it.

I think I will make a modular version of Snitz, not sure if the .Net version is already using this idea. My thoughts are that I take as many of the mods as possible and integrate them into a single package.

Instead of installing them as written, though, each and every function should be contingent (including their appearance in admin configuration menus, with the exception of a single modular option menu) upon a variable switch. The admin modular option menu should include links to descriptions of the module (ala pop_help) to facilitate administrators' choices of whether to use the function(s).
Some of the pages will necessarily become quite a bit longer, since all versions of modified code will have to remain ... and where code is modified by several different modules, there will have to be "If and" options based upon all combinations of affected modular switches before choosing which section of code to use.
I think it's worth doing, though. It's a much more user-friendly way (especially for non-coders) than what we have now. Those who do not have programs which show line numbers and/or file comparisons often change the wrong lines due to coding similarities in files. Users could simply install the package (without running any modules or changing any code outside of "config.asp") and choose functions from the module list.
It's a big job, though. I have almost 300 mods in my Snitz package folder, so don't expect any overnight completion. I'll try and work on it periodically, cannot devote all my energy to it, and keep people posted as to the progress of integration.
I wish we had the polls integrated here because I'd like to get some idea of what people wanted most of the larger mods (and which version of some of the smaller ones, such as anti-spam) to help prioritize.

 

Replies ...


Etymon
14 March 2014, 14:31


That would keep your mind busy for sure! bigsmile
I made a homebrew MOD something like that but not so detailed.
I was able to take the dbs file, read the top line to get the MOD's name, place that into a db table which was used to associated it with its admin file (if it had one), and then I could control the use of it from a MOD section. There's a little more to it than that, but that's the idea.
Below are the links: (the download links are not current)

http://forum.snitz.com/forum/topic.asp?TOPIC_ID=67959

http://forum.snitz.com/forum/topic.asp?TOPIC_ID=67879
pierretopping
14 March 2014, 14:36


Would be great to see Carefree :-)
HuwR
14 March 2014, 15:32


Carefree, yes I have implemented some methods for integrating mods, obviously it is a lot easier than classic asp (well as long as people follow the guidelines I will publish smile.
Obviously there are still some mods that would require core code changes (which will be more difficult in the .net version as core code is in dll's smile), but most standalone type mods can be plugged into the ,net version quite easily, and have settings to enable/disable them
HuwR
14 March 2014, 15:40


Originally posted by Etymon
That would keep your mind busy for sure! bigsmile
I made a homebrew MOD something like that but not so detailed.
I was able to take the dbs file, read the top line to get the MOD's name, place that into a db table which was used to associated it with its admin file (if it had one), and then I could control the use of it from a MOD section. There's a little more to it than that, but that's the idea.
Below are the links: (the download links are not current)

http://forum.snitz.com/forum/topic.asp?TOPIC_ID=67959

http://forum.snitz.com/forum/topic.asp?TOPIC_ID=67879

there is also this MOD at SnitBitz, old, but similar idea for managing mods
http://www.snitzbitz.com/mods/details.asp?Version=All&mid=129
Carefree
14 March 2014, 18:37


I'm familiar with Mod Commander, etc.; they aren't really what I had in mind (with the exception of the mod "notes" or descriptions being similar to the pop_help file). I didn't want multiple individual files having to open for mod descriptions, though. I'd prefer a single popup file, probably reading the descriptions from database entries, so the descriptions wouldn't have any extraneous surrounding data.
I wouldn't know where to begin with dll coding, glad you're doing that instead of me, HuwR. I'm too old and my brain too feeble to learn a new batch of tricks.
As I progress with this project, I'll periodically update a file on SB; that way it'll be available if one day I don't wake up. Nobody around me has any clue what I do, so my work would just be lost otherwise.
HuwR
15 March 2014, 02:30


You are never too old to learn Carefree smile well, that's what I keep telling myself anyway bigsmile
I can create a private forum for you here if you wanted to keep track of what you are doing, just let me know and I will sort one out
Carefree
15 March 2014, 06:41


That would be better than on SB, thanks. There would be always be people unwilling to wait on SB and who then would complain that their particular favorite(s) weren't yet added.
Etymon
15 March 2014, 15:22


I want to start complaining now! bigsmile Can I? Can I? Please!?
HuwR
15 March 2014, 16:37


Carefree

here ya go http://forum.snitz.com/forum/forum.asp?FORUM_ID=130 it is currently private and hidden, let me know if you want me to open it up or allow anyone else access
Carefree
15 March 2014, 17:35


Originally posted by Etymon
I want to start complaining now! bigsmile Can I? Can I? Please!?
Help yourself. LOLbigsmile
Carefree
15 March 2014, 17:38


Originally posted by HuwR
Carefree

here ya go http://forum.snitz.com/forum/forum.asp?FORUM_ID=130 it is currently private and hidden, let me know if you want me to open it up or allow anyone else access

Thanks. Already did the first couple of mods to get some of the page designs and functions (like the mod management file) completed. Think I'll do some of the massive ones like polls next, since they change so many sections of code. It'll be easier to integrate the littler ones into the changes rather than the other way around.
As for access to the forum, let's limit it to development team people, please.
Etymon
15 March 2014, 21:12


Complain, complain, complain ... OK! I'm done! tongue
HuwR
16 March 2014, 01:56


dev team added.
Good idea about doing the larger ones first.
richfed
16 March 2014, 13:57


Sounds fantastic, Carefree ... as you know, I had been wanting to redo my heavily modded forum to get rid of a few old and unused ones and be sure I have all the latest code. This sounds like something I will convert to. Best of luck with your work!
Astralis
21 March 2014, 05:21


I'd love to be able to update the forum without going through all the modifications.
Like a layer cake, it would be nice if there was a basic framework where future mods could be placed on top of the basic forum, at the bottom of the cake. When there are updates, the base could be changed without impacting the layers on top of it.
Carefree
21 March 2014, 07:57


This package will not allow mods to be added in that manner - unless they are stand-alone files which simply require a menu item. Anything which integrates into other pages necessitates changes.
AnonJr
21 March 2014, 09:02


It is a good idea for consideration though - just a much harder one to implement than most realize.
Carefree, I keep forgetting to send you some stuff I've worked on in a similar manner... hopefully I'll remember this time when I get home.
Carefree
21 March 2014, 10:54


I've worked on other software in a modular concept way back in the Commodore days; helped write a BBS program and tons of mods which used machine language for the top menu and all the applications overlaid it starting at line 1000.

In order to do something like that, though, you have to design the entire application from the ground up to support it. Starting with a full blown system and trying to code in things as "plug-ins" (that term didn't exist in the Commodore days), is a lot more complicated.
Carefree
02 April 2014, 19:21


Well, more than 130 mods are integrated; still have a long way to go. As more mods are incorporated into files like "members.asp", "forum.asp" and "topic.asp", especially, they take much longer to accomplish because of so many mods to de-conflict. After they are all coded in accordance with the individual instructions (modified to fit the modular approach); all the new pages have to be checked to make sure they won't load when their respective mods are disabled. When THAT is finished, testing can begin in earnest.
I still intend to release it in April (won't make that goal) May, provided that we get enough people willing to test. With roughly 300 mods, there is a lot of room for errors ... so we will need volunteers to help find bugs before this is finalized.
Here's a snapshot of part of the mod management page. It's growing a bit and wouldn't be legible if I shrank the size enough to display it all.
[IMG]http://i57.tinypic.com/2hi09pi.png[/IMG]
pierretopping
03 April 2014, 13:25


Great work, count me in for testing :-)
richfed
07 April 2014, 13:13


I would be happy to test it -- even with my limited capabilities.
Question - not so much for testing - but later. Will this work if applied over an existing forum, using the same database [MS-SQL]?
Carefree
07 April 2014, 20:55


Question - not so much for testing - but later. Will this work if applied over an existing forum, using the same database [MS-SQL]?
You'll have to incorporate ALL of the new tables (and new fields within existing tables), then it'd just be a matter of adding the new folders, new pages, and swapping the existing pages. But you should be able to keep all your existing posts, etc.
We're going to be doing some exhaustive testing first, though. This is a very complicated project. Right now I'm developing it all on a laptop using http://localhost so anyone with IIS6 or later should be able to test it.
richfed
11 April 2014, 13:08


That is just fantastic, Carefree!
Carefree
11 April 2014, 23:45


Glad you like the idea. Now, if only I didn't screw it up too badly....
skyhook
12 April 2014, 06:25


Good job. Keep me in consideration for beta testing.
StephenD
13 April 2014, 03:50


Looks great!
DJGray
14 April 2014, 17:18


Carefree, this is an amazing piece of work, and I have to believe it is a labor of love. You don't engage a task like this without a fair level of passion behind it. I recognize that we are all geeks, and I find great satisfaction in building something (usually at work) and seeing it do exactly what I want it to do.
Years ago, I had a friend whose hobby was to go to schools or used bookstores and buy algebra textbooks, and solve the problems in the back of the book. He loved it!!
What you're doing is kind of like that.smile
Thank you so much for your efforts!!
Carefree
16 April 2014, 17:53


When it is completed, tested, and pronounced usable tongue; I would like it to be as close to "idiot proof" out of the box as possible. So in conjunction with testing, we shall need the testers to help write documentation for using various mods (maybe just a matter of capturing some of the instructions from the posts here) that I can incorporate into a pop-up instruction file. I will link the instructions to the admin page, so they'll only be displayed if the forum admin enables the mod(s).
golfmann
17 April 2014, 01:24


Just to rig the admin_home page to show the correctly picked stuff and options/features if and when is a daunting task.
Amazing amount of work, Carefree. Wow... smile
MaGraham
07 May 2014, 12:35



This is looking very interesting! Please let me know if I can help with the testing, Carefree.
richfed
25 June 2014, 13:38


Is this project still on-going, Carefree?
Carefree
25 June 2014, 15:08


Yes, I am still adding mods. Just haven't been able to dedicate as much time as I would have preferred. I have less than 40 left which I intend to integrate, then we'll start testing.
modifichicci
02 July 2014, 11:46


That is a great job indeed, I have done that with Adamantine, a snitz with a lot of mods that can be activated by a menù like your.. the only defect is that it is in italian, but the code is now free here:

http://www.snitz.it/forum/topic.asp?TOPIC_ID=9299

if you like and you have time you can take a look..
(The installation requires to follw the instructions in leggimi.txt, sorry but they are in italian)

Carefree
06 July 2014, 12:41


Less than 20 remaining mods to integrate. If all goes well, I will finish those this week. Then I'll start disabling the new files if they aren't turned on. That stage should take me less than 2 days to complete. After that, we can start testing (FINALLY).
Carefree
10 July 2014, 01:55


OK. I'm through adding mods, unless I change my mind about one in particular that I excluded. I installed 175 of them. Now I'm disabling the pages to coincide with the mod setting so that any mod disabled from the admin page will automatically disable all of its component pages. Of course, when the admin enables the mod, the pages will all work again.
pierretopping
10 July 2014, 13:10


Fantastic work, well done that man :-)
richfed
10 July 2014, 15:36


Cool! What's the one MOD? :-) I look forward to implementing this on my site. It looks like a good way to get rid of the mods I no longer use and maybe try some new ones. You are a master, Carefree.
Carefree
10 July 2014, 18:33


I didn't add the "who's online" mod, primarily because it came at the end and it takes a lot of work now to add mods to "topic.asp" which change the series of numbers. When you have to include all the different possible combinations of mods, it gets quite long. You'll see.
Carefree
11 July 2014, 10:38


I'm done. As soon as we decide where to upload the file for the testers, it can go to beta.
pierretopping
11 July 2014, 15:15


Bring it on, great stuff :-)
Carefree
14 July 2014, 20:53


Question regarding the "Who's Online" mod. Do you think there would be enough demand for this to warrant a few hours' work integrating it? If I exclude the changes to "topic.asp", it won't take long at all. Just not sure if that's a "deal-killer" for those who use the mod.
I just chose to exclude "topic.asp" changes. The rest is incorporated.
Carefree
15 July 2014, 00:02


Here are two screenshots. The first is without anything enabled.
[IMG]http://cobraitech.com/ModMgt1.jpg[/IMG]
The second is after turning on only two items: "Usergroup - Prisoners" and "User Space - Friends". If there are prerequisite mods, they are automatically enabled as necessary.
[IMG]http://cobraitech.com/ModMgt2.jpg[/IMG]
Carefree
16 July 2014, 12:36


For those of you who are interested in testing but do not know how to setup a test site on your own computer, I made a walk-through
for Superskytten which can help you. These instructions are made for Windows 8 or Server 2012.
Code:

1)  Go to the Control Panel.
2)  If the setting on the top right is for "View by Category", then change it to "Small Icons".
3)  Click "Administrative Tools"
4) In the "Administrative Tools" window that opens, look for "Internet Information Services (IIS) Manager".
a) If it exists, click it to open.
b) If not, switch windows back to the Control Panel. 1 Click "Programs and Features".
2 Click "Turn Windows Features on or off". In the new window that opens, select all of the following items -
make sure that there are check marks (not black squares) in the boxes (you may have to click the plus symbols to select sub-items
in order to get the check marks): "Internet Information Services", "Internet Information Services Hostable Web Core", and "Simple
Network Management Protocol (SNMP)". Click OK to apply. 3 When the features are completely installed, go back to item 4) above. 5) When the "Internet Information Services (IIS) Manager" window opens, look in the left pane. (By the way, you may get a pop-up
window asking if you want to "Get started with Microsoft Web Platform ...". You can click "No" to this.) At the top, it will
have your computer's name. Click it, and beneath it will appear two items: "Application Pools" and "Sites". a) Click "Application Pools". On the right pane, you will see a few items: .NET v(whatever), Classic .NET..., and
"DefaultAppPool".
1 Right-click "DefaultAppPool" and choose "Advanced Settings". 2 The second item from the top in the new window will be "Enable 32-Bit Applications". Set this to "True".
Click OK. b) Back in the "Internet Information Services (IIS) Manager" window, click the + symbol next to "Sites". Click "Default
Web Site". In the bottom center pane, look for "ASP" (It should be the first item.). Right-click it and select "Open Feature".
1 If you wish to choose a default "Code Page" (this controls font display on your site), click the first item.
The typical code page for Danish is 865, for English (and most European characters) is 1252. If you want to leave it selectable
by software, leave it as 0. 2 Now select the 2nd item "Enable Buffering". Set this to "True". 3 Now select the 5th item "Enable Parent Paths". Set this to "True". 4 Now select the 11th item "Script Language". Set this to "VBScript". 5 Expand "Session Properties" and select the 1st item "Enable Session State". Set this to "True". 6 Click "Apply" at the top of the right pane. 6) Now, to add your forum, hold down the "Windows" key on your keyboard (looks like the Microsoft flag) and hit the letter R
one time. It will open the run command prompt. a) Type the following into the command box: "Explorer %systemdrive%\inetpub\wwwroot" (with or without the
quotation marks) and click OK. You can either copy your forum folder into the folder that opens or you can leave it elsewhere
as a "virtual" path. It's your choice. b) If you want to leave it somewhere else, we'll have to switch back to the "Internet Information Services (IIS) Manager"
window. 1 In the left pane, right-click "Default Web Site" (near the top). Choose the 4th item "Add Virtual Directory".
2 In the window that opens, type the folder name (or an alias, e.g. "forum") in the top box. For the second
box, click the browse button ("...") and browse to the folder containing your forum files. Click "OK" and then "OK" again in
the virtual directory window. Your forum folder (regardless of where it's located) should now show up beneath the "Default Web
Site" heading. 7) In the "Internet Information Services (IIS) Manager" window, click "Error Pages" in the center pane. Now, in the right
pane, click "Edit Feature Settings". Set it to "Detailed Errors" and click "OK". 8) You're done. To test, open a browser and go to "http://localhost/forum_folder_name" (replace "forum_folder_name" with
whatever you gave in the alias box).
pierretopping
17 July 2014, 02:32


A quick question if I may Carefree. I take it that the database structures would need to be made before activating any mods, so simply place your (excellent) code on to an existing snitz system will not mean by default that the mod will work because the existing tables will not have the required changes in them to run the mod.
I'm I right in thinking this or is the sun playing tricks with my brain (again..)

:-)

Pierre
Carefree
17 July 2014, 03:44


Correct. If using this with an existing system, you'd have to make all the database updates ... and, with 176 integrated mods, there are a LOT of them.
pierretopping
17 July 2014, 17:37


Thanks carefree. I take it would just be a matter of digging up the correct setup file for the mode and running that before hand to ensure that the new fields are populated in the correct tables?
Great work man :-)
Carefree
18 July 2014, 22:53


Someone (probably me) will have to compare all of the dbs files to the actual tables. More than 90% of them will be fine, but there are a few new fields in various tables which I had to add for corrections and/or improvements to some existing mods. I usually posted about them but not always.
Carefree
18 July 2014, 23:19


For the testers, if you haven't already figured it out, do not run "setup.asp". Instead, extract the zip file to your desired folder, browse to it and sign in. You can change the admin account name using the "Name Changer" mod and change the admin account password using the "Pass Reset - Forum Admin" mod.
User: Admin
Pass: admin

The following folders need to have write permissions set for the IUSR, IIS_IUSRS, and NETWORK SERVICE accounts:
  • adverts
  • album
  • chatroom
  • dbase
  • flashchat
  • photos
  • topics
  • uploads
Some things are pre-configured (e.g., Usergroups: "Members", "Minors", & "Prisoners") and should not be deleted or edited if those mods are turned on. Also there are a few with requirements (e.g., "weblogs" forum needs to have the word "weblogs" in its title). To be aware of these, read the help descriptions of each mod before using it.
Also, although there are links within the mod management page, if the mods are not enabled, currently the pages will return you to the mod management page instead of opening. I will change that today and replace the download file on my server.
Edit: I changed it so that if the link to the file is from the mod management page, it will open (regardless if the mod is enabled). If you prefer the previous method (forcing you to go back and enable the mod first), you have to change two characters on "includes/inc_func_common.asp".
Code:
Look for the following lines (appx 3713-3714):

' If fString <> "1" Then
If (fString <> "1" and strSFile<>"admin_mod_mgt.asp") Then

Change them to read:

If fString <> "1" Then
' If (fString <> "1" and strSFile<>"admin_mod_mgt.asp") Then
richfed
19 July 2014, 14:53


I am going to attempt to test this on my computer, hopefully later today. Where are the new files located for download? Did I miss that part somewhere? As for using it "live," I would upload all the files - change database string, run dbs files and then turn on/off all the mods? Would it be that simple?
richfed
19 July 2014, 15:54


OK ... first issue ...I proceeded THROUGH Step 6 - It seems though, I cannot download my forum from my server into the folder that opens. I guess that leaves the 2nd option? I am downloading my forum to my desktop. Once I get that done ... where is the .zip. I don't seem to see it on SnitzBitz. I must be doing something wrong. I don't need my remote forum files, do I!?
Carefree
19 July 2014, 21:38


Outgoing internet connection here is too slow to upload a file of this size (just over 100 MB, since it contains avatars, flash games, etc.) into SnitzBitz. Since SnitzBitz doesn't show the progress of uploads, I cannot tell if the upload will time out. Thus I've chosen to put it on Google Drive instead.
richfed
20 July 2014, 16:42


Alright ... I have the files downloaded and I put them in the inetpub\wwwroot directory. I had already completed the instructions through Step 6, but the site does not show, so I followed the instructions for a virtual path ... which is now inetpub\wwwroot\Forum I then performed Step 7 and finally, Step 8. I get this message in my IE browser: "An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error." I tried adding default.asp to the address and then I jut get a blank page. I am using Windows 8.1 64-bit. When I click on finding out about this error, I am brought to this page: http://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8
HuwR
20 July 2014, 17:29


Have you enabled 32 bit application support under IIS? That is most likely the problem, You also need to enable asp support if you have not done so already, needs to be installed as a windows component, not sure exactly how that is done on 8.1, but try install programs in the control panel.
richfed
20 July 2014, 19:38


Yes, I followed the instructions for all that and double-checked today to be sure. All looks correct. This is probably above my pay grade. :-)
Carefree
20 July 2014, 21:51


"Above my pay grade" (sounds like ex-military, heard it a lot in the service).

I ran into the exact same thing on another 8.1 computer recently. Everything is properly set, a simple asp test page is properly displayed, but it doesn't seem to like the forum. There's something else happening. It might be related to not having MS Office installed, may have to use a DSN connection to the database.

I remember, vaguely, reading something about MS changing (or removing) the Access drivers from 8.1 64-bit. Apparently, they limited connections to accdb databases. There is a work-around (there's a file to download which adds the 32-bit mdb driver to the 64-bit 8.1 Windows, but I cannot remember where I read about it. This might be the file: 8.1 Access Drivers. According to Microsoft, there is a file to run included with the OS. Go to start/run, type "%windir%\SysWOW64\odbcad32.exe" and hit enter. That will supposedly create the 32-bit drivers which are missing by default.
In the meantime, I made a accdb version of the database and uploaded it separately. Try replacing the .mdb with it and changing the connection string accordingly.
I'll test this on another Win 7 and another Win 8 machine today, see if there are any problems.
Classicmotorcycling
21 July 2014, 03:40


IIS works fine for me on Windows 8.1. Just need to make sure that you make sure that the "Enable 32-Bit Applications" is set to "True" in the application pool.. wink
Carefree
21 July 2014, 05:46


It's not a question of IIS enabling ASP as it is a question of database connectivity. If you'll go back a few posts, you'll see I describe how to enable 32 bit applications, so I am aware that it's needed for 64-bit operating systems.
richfed
21 July 2014, 13:58


FYI -- I do have MS Office installed -- the 365 complete suite.
I will try your suggestions sometime in the next day or so. Thanks, Carefree.
Carefree
21 July 2014, 19:55


Originally posted by richfed
FYI -- I do have MS Office installed -- the 365 complete suite.
I will try your suggestions sometime in the next day or so. Thanks, Carefree.

You're welcome.

In Windows 8.1, installing the 64-bit version of Office apparently does not automatically add the 32-bit database drivers which is odd since adding the database drivers doesn't seem to harm performance in any way. Don't know why MS decided they weren't going to be needed any longer...another decision that has proven inaccurate.
Classicmotorcycling
21 July 2014, 20:07


I never had to install the drivers and it worked first go.
Originally posted by HuwR
Have you enabled 32 bit application support under IIS? That is most likely the problem
So unless there was some wired install of Windows 8.1 it should of worked even without installing MS Office. Just sharing what I have done in the past. tongue
Carefree
22 July 2014, 06:27


Well, on these three 8.1 machines; all now have Office installed, all have 32 bit applications enabled, NONE can connect to the database, regardless of whether using accdb, mdb, or DSN connections. They will all response write a simple line to the browser, so ASP is working. The issue is 100% related to database connectivity. Furthermore, even though they all have detailed errors turned on, none of them report detailed errors. There's something rotten with IIS 8.5 in Windows 8.1..
OK - Finally got it working. Had to change the write permissions to the temporary directory to add IUSR/IIS_IUSRS/NETWORK SERVICE (for whatever reason, they aren't automatic. After I did that, I finally started getting detailed errors. The detailed error I received said that I needed access to the database, even though the folder had write permissions, it turned out the database did NOT. I had neglected to propagate the permissions onward to the files within the folder.
Classicmotorcycling
22 July 2014, 18:36


I would of thought that you would do the permissions on the folder and it's contents of the DB on instinct. smile
Originally posted by Carefree
OK - Finally got it working. Had to change the write permissions to the temporary directory to add IUSR/IIS_IUSRS/NETWORK SERVICE (for whatever reason, they aren't automatic. After I did that, I finally started getting detailed errors. The detailed error I received said that I needed access to the database, even though the folder had write permissions, it turned out the database did NOT. I had neglected to propagate the permissions onward to the files within the folder.
As long as you got it going, all's good..
Carefree
22 July 2014, 20:18


Yeah, but when you have to do 10 folders, it's easy to skip checking the little box on occasion. Especially when your brain cannot remember whether you did it right after hitting OK. Here's a batch file to do it automatically, people can use it for simplicity.
The best practice is that when you create the forum directory in which to extract the zip file, make sure that the "users" account has full permission to the folder first. Then extract the zip file and it SHOULD give the users account full permission to all the files and folders automatically.
Then save the code at the bottom of this post to the modular forum root directory, as "permissions.bat". If you use notepad to copy and paste into, change the drop-down menu from "Text Documents (*.txt)" to "All Files (*.*)" before saving. That will prevent it from saving the file as "permissions.bat.txt".
Finally, simply double-click the file to execute it and edit all the necessary permissions at once.
Explanation of what it does:

The first section (all the "vers" and "If" conditions) checks which version of Windows is in use. That's necessary since the CACLS command was deprecated with Windows Server 2003. XP and older operating systems do not have the ICACLS command.
The second section actually does the work of assigning the necessary permissions to all of the required folders (and files within those folders). They don't all require "network service", but a future change may necessitate it and it doesn't hurt to grant it at the same time.
When using CACLS:
  • "/t": Applies the command to all files and sub-directories within a folder.
  • "/e": Edits permissions rather than replacing them.
  • "/c": Continues processing if it encounters an error in a command.
  • "/g": Grants (as opposed to denying, etc.) permissions.
  • "iusr:w": Grants write access. All three necessary accounts are included.
When using ICACLS:
  • "/grant:r": Replaces permissions previously granted to the specified accounts.
  • "(OI)(CI)": This is necessary to apply those permissions to the directories themselves, to allow creation of files/folders within them. Any directory in which users can upload or append to files must have this setting.
  • "iusr:m": The :m stand for "modify" access, replaces "write" access from CACLS. All three necessary accounts are included.
  • "inheritance:e": Enables the folders and files to retain the security settings from the forum folder and simply adds to them, rather than removing the "system", "users", "administrators", etc. which are already there.
  • "/c": Continues processing if it encounters an error in a command.
  • "/t": Applies the command to all files and sub-directories within a folder.
Code:

@echo off
cls
Rem Detect OS
ver | findstr /i "5\.2\." > nul
IF %ERRORLEVEL% EQU 0 goto :win8
ver | findstr /i "6\.0\." > nul
IF %ERRORLEVEL% EQU 0 goto :win8
ver | findstr /i "6\.1\." > nul
IF %ERRORLEVEL% EQU 0 goto :win8
ver | findstr /i "6\.2\." > nul
IF %ERRORLEVEL% EQU 0 goto :win8
ver | findstr /i "6\.3\." > nul
IF %ERRORLEVEL% EQU 0 goto :win8
Rem Process permissions, older Windows
cacls adverts /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls album /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls avatars /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls chatroom /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls dbase /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls filelister /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls flashchat /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls photos /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls topics /t /e /c /g iusr:w iis_iusrs:w "network service":w
cacls uploads /t /e /c /g iusr:w iis_iusrs:w "network service":w
goto :end
Rem Process permissions, newer Windows
:win8
icacls adverts /grant:r iusr:(OI)(CI)(m,gw,wd,ad) iis_iusrs:(OI)(CI)(m,gw,wd,ad) "network service":(OI)(CI)(m,gw,wd,ad) /inheritance:e /t /c
icacls album /grant:r iusr:(OI)(CI)(m,gw,wd,ad) iis_iusrs:(OI)(CI)(m,gw,wd,ad) "network service":(OI)(CI)(m,gw,wd,ad) /inheritance:e /t /c
icacls avatars /grant:r iusr:m iis_iusrs:m "network service":m /inheritance:e /t /c
icacls chatroom /grant:r iusr:(OI)(CI)(m,gw,wd,ad) iis_iusrs:(OI)(CI)(m,gw,wd,ad) "network service":(OI)(CI)(m,gw,wd,ad) /inheritance:e /t /c
icacls dbase /grant:r iusr:m iis_iusrs:m "network service":m /inheritance:e /t /c
icacls filelister /grant:r iusr:m iis_iusrs:m "network service":m /inheritance:e /t /c
icacls flashchat /grant:r iusr:(OI)(CI)(m,gw,wd,ad) iis_iusrs:(OI)(CI)(m,gw,wd,ad) "network service":(OI)(CI)(m,gw,wd,ad) /inheritance:e /t /c
icacls photos /grant:r iusr:(OI)(CI)(m,gw,wd,ad) iis_iusrs:(OI)(CI)(m,gw,wd,ad) "network service":(OI)(CI)(m,gw,wd,ad) /inheritance:e /t /c
icacls topics /grant:r iusr:(OI)(CI)(m,gw,wd,ad) iis_iusrs:(OI)(CI)(m,gw,wd,ad) "network service":(OI)(CI)(m,gw,wd,ad) /inheritance:e /t /c
icacls uploads /grant:r iusr:(OI)(CI)(m,gw,wd,ad) iis_iusrs:(OI)(CI)(m,gw,wd,ad) "network service":(OI)(CI)(m,gw,wd,ad) /inheritance:e /t /c
Rem Pause output for review, then exit
:end
Pause
Exit
Carefree
26 July 2014, 02:36


Originally posted by richfed
I am going to attempt to test this on my computer, hopefully later today. Where are the new files located for download? Did I miss that part somewhere? As for using it "live," I would upload all the files - change database string, run dbs files and then turn on/off all the mods? Would it be that simple?

Inside the latest package (as of yesterday), I included tools to convert the provided database (with all the tables preinstalled) to either MySQL or MS SQL. It will let you selectively import tables and/or fields into existing tables.
richfed
26 July 2014, 14:04


I am going to have to wait until I feel like my mind is clear to attempt this again. This is complicated!!!!! No online test site, I suppose?
pierretopping
26 July 2014, 14:15


Great work all. Will give it a go in the morning (under server 2008) and report back :-)
Carefree
27 July 2014, 04:55


Originally posted by richfed
I am going to have to wait until I feel like my mind is clear to attempt this again. This is complicated!!!!! No online test site, I suppose?

Cannot really enable online testing because you have to be the forum admin to access the panel to make all the changes. All it would take is for some loser to get the login info and delete users, etc. I could go through and disable all of those type pages, but then the testing would be really restricted.
richfed
27 July 2014, 14:51


Activated Poll Mod and tried to create a test poll with 4 answers. Preview worked, but when I tried to Post it, I receieved this error:

Microsoft JET Database Engine error '80004005'

The field 'FORUM_POLLS.P_ENDDATE' cannot contain a Null value because the Required property for this field is set to True. Enter a value in this field.

/mforum/post_info.asp, line 1546

Carefree
27 July 2014, 22:04


Changed the required, it will work.
Carefree
05 August 2014, 03:50


Was looking at the themes mod and saw that a number of buttons weren't included to match the provided themes, so I decided to create automatic CSS-styled buttons (login/logout & Snitz) to match the format of the category cell colors. Now, in order to match the color scheme within "forum.asp" (which is where 99% of the theme's work is done), the header cell and category cell colors should match in the "my_theme2.asp" file, especially since there are no categories displayed there. When on any page other than "forum.asp", the default color scheme is used and the category cell colors are used instead.
richfed
05 August 2014, 14:09


When clicking on the Alert Bar to sign up to forum, I receive this:

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/mforum/register.asp, line 256
strSql = strSql & ", 1
----------------------^
Carefree
05 August 2014, 14:36


There should be a closing quotation mark at the end of the line.
golfmann
01 October 2014, 23:38


I'm holding out for MS10... smile
Carefree
02 October 2014, 00:24


Do you mean Windows 10 and, if so, what does that have to do with this?
golfmann
02 October 2014, 14:11


Yes (I heard they were changing name) and it was just a joke because of all the 8.1 stuff...
A little humor doesn't hurt (nor do smiles) but I will refrain on this serious topic...
Sorry.
Classicmotorcycling
02 October 2014, 14:35


You can sign up for the preview of Windows 10 at http://preview.windows.com/ but you will need a different machine to use it with than your regular one. smile
AnonJr
02 October 2014, 16:14


Originally posted by golfmann
Yes (I heard they were changing name) and it was just a joke because of all the 8.1 stuff...
A little humor doesn't hurt (nor do smiles) but I will refrain on this serious topic...
Sorry.

Nothing wrong with a little humor - it just makes it harder to manage a project thread like this when there are little asides like this one. It's where I sometimes wish the Split Topic (or something like it) was in play here.
Start up another thread and I'll be happy to regale you with thoughts only occasionally grounded in the facts available. wink
Carefree
03 October 2014, 04:44


Originally posted by golfmann ...all the 8.1 stuff...
What 8.1 stuff?
golfmann
03 October 2014, 23:20


Originally posted by golfmann
Yes (I heard they were changing name) and it was just a joke because of all the 8.1 stuff...
A little humor doesn't hurt (nor do smiles) but I will refrain on this serious topic...
Sorry.

Nothing wrong with a little humor - it just makes it harder to manage a project thread like this when there are little asides like this one. It's where I sometimes wish the Split Topic (or something like it) was in play here.
Start up another thread and I'll be happy to regale you with thoughts only occasionally grounded in the facts available. wink please delete it all..
richfed
12 March 2015, 13:19


Do you think that this package is cleaned up enough to be ready to use on a live forum, Carefree?
Carefree
12 March 2015, 19:58


No, there are still some bugs I'm working on. We're close, though. I'll package it again (as it's in use now) so you can test it if you wish.
Carefree
16 April 2015, 23:58


OK - I added 190+ mods to it, I'm still working on adding a drop-down menu (with/without graphics). I will package it and upload to Google Drive in the next 24 hours for anyone who wants to try it out without the drop-down menu.
Edit - It's up on Google. See the link on the first post, page 1.
© 2000-2021 Snitz™ Communications