PDA

View Full Version : Community Wiki



Minty23185Fresh
February 10th, 2018, 15:11
This may be a can of worms that has already been discussed (though I couldn't find it):

Has SmiteWorks considered hosting a wiki for community member contributions?

I realize there are a lot of pros and cons to such a project, but it might be worthwhile. I tend to research things to death as I work toward adding functionality to an extension. If I post my research findings in the forums hoping to help others in the future they quickly disappear as they lose temporal relevancy. Or are polluted with non pertinent digressive discussion. Take a look at the Parse5E thread(s) sometime! I completely gave up on the tool after a few hours of wading through that miasma on non information.

I've seen questions and comments here in the Workshop regarding the difficulty of finding "documented code". A community wiki might be an answer.

JML
February 10th, 2018, 15:19
I'm quite new to the software and community, and there's so much I still have to learn, but I've got the same feeling as Minty.

LordEntrails
February 10th, 2018, 15:43
IMO, there is already a Wiki that can and should be used. The problem is that it is too closely "guarded". I don't know if there were problems in the past with people getting into issues with making poor changes to each others work, but, I would like to see the wiki opened up to most everyone who wants to be able to edit content there.

Maybe wait until someone gets 100 posts or some level, but, the current response of well, just send someone the text of what you want updated and we'll update it really isn't a good solution. That puts a roadblock in the way and adds work to both someone who wants to help and to the people who then need to make the update.

For instance, My adventure creation guide would be MUCH better if it was on the wiki and could be updated and added to by a thousand users rather than just me. Just on the topic of adventure creation, there are three guides I can think of. Mine is the most upto date and comprehensive, but it still is "old" and incomplete.

SmiteWorks, please re-consider opening up the Wiki to general user authoring.

Minty23185Fresh
February 10th, 2018, 16:09
IMO, there is already a Wiki that can and should be used. The problem is that it is too closely "guarded".....
I've contributed to Wiki's, but not been an "organizer". It would seem as though a sub-page could be opened for community contributions. That way we wouldn't be stepping on Smithworks provided documentation.


Maybe wait until someone gets 100 posts or some level, ...The current methodology with blogging seems to work. Everyone is a blog reader. One must request to be a "blog writer". And I'm sure there are "blog super users".


For instance, My adventure creation guide would be MUCH better....
Precisely one of the forum threads I had in mind. There are others that I follow and that have contributed forum threads that would be much better served via Wiki: celestian, Bidmaron, Ken L, Myrdin, rob2e, Nickademus, just to name a few (sorry if you're conspicuously absent).

Bidmaron
February 10th, 2018, 18:54
Yes, please SW do this. I have a CoreRPG function call documentation that would be beneficial if we could share (not very complete yet, but growing). Perhaps you could say that anyone above a certain forum level is qualified to edit a section of the wiki ("User Contributions?")?

Moon Wizard
February 10th, 2018, 19:26
We deliberately chose not to have a kitchen sink wiki approach. While it does lead to more content, it leads very quickly to a disorganized wiki with potentially incorrect information. I'm a strong believer that any project should have someone invested in the overall organization and outcome, not just individual topics.

As I stated in the original wiki notice, I am very open to adding additional users on a request basis. If someone wants to be a wiki contributor, I just make sure that they have been a contributing positive member of the community for a while. Or, if not, I just ask them to pass the markup to me and I will post. This allows a modicum of overall moderation of content and organization.

Also, I agree that many "sticky" threads should probably be written up as wiki topics, and the "sticky" threads replaced with wiki links.

Am I hearing that someone wants the job of moderating and organizing the wiki? ;)

JPG

LordEntrails
February 10th, 2018, 22:30
I would definitely be willing to be a contributor and help moderate. Not willing to step up and be responsible for updating all of the content :)

Minty23185Fresh
February 10th, 2018, 22:42
I'm thinking I could do the same.

I don't believe myself to be an expert in anything especially rulesets that are not 5e. So trying to moderate something like that would be counterproductive.

It looks like we need to flesh out scope.

JML
February 10th, 2018, 23:01
I'm obviously much too green to contribute at the moment, but I may come back later (onward to my first ruleset !!! :rv:)

Minty23185Fresh
February 10th, 2018, 23:06
My current greatest interest, and a sector of wiki pages I believe I could contribute to is "ruleset code explained". In developing the extensions both published and unpublished I've had to dig deeply in things like anchoring, loadorder, OOB messaging, xml instance layering, to name a few. Am I an expert? Umm, probably not. But I have an understanding of these deeper than the average bear, and I believe I have something to share, with someone just facing g those subjects for the first time.

Minty23185Fresh
February 10th, 2018, 23:12
I'm obviously much too green to contribute at the moment, but I may come back later (onward to my first ruleset !!! :rv:)

Don't count yourself out. Tackling a ruleset. That takes some guts. Actually I'd love to see a set of articles on how you came up to speed to do such a thing. What were your biggest obstacles to hurdle. I did something along those lines as a blog series on how I came up to speed in tackling my first extension. Take notes please and come back!

JML
February 10th, 2018, 23:17
Ok, i'll try to take notes. But please, be patient. That's obviously a long task, and I'm no native english speaker :p

Moon Wizard
February 10th, 2018, 23:26
Minty,

I recently compiled a new Developer Guide from all the various sources, and rewrote large portions of the developer guide to be up to date with the latest information. Were you looking at those already?
https://www.fantasygrounds.com/wiki/index.php/Developer_Guide

Regards,
JPG

Minty23185Fresh
February 10th, 2018, 23:28
@Moon Wizard (and others):
Would it be possible to field contributors "by invitation"? That sounds a little "old boys club", but that's not what I mean. Current moderators of the forums and future moderators of the Community Wiki, as if it has already been born, would keep an eye out and when someone asks a pertinent question, and fields appropriate answers in the forums, the knowledge seeker would be invited to write it up in the wiki. Of course some community members would decline, but they might consult with another. Knowledge does have a price.

Minty23185Fresh
February 10th, 2018, 23:38
Minty,

I recently compiled a new Developer Guide from all the various sources, and rewrote large portions of the developer guide to be up to date with the latest information. Were you looking at those already?
https://www.fantasygrounds.com/wiki/index.php/Developer_Guide

Regards,
JPG

I have not. If ignorance were a virtue, I would be the most virtuous man alive! I will digest these. Possibly I am out of a job!

Moon Wizard
February 10th, 2018, 23:39
One of the reasons that the wiki is limited access is because there is no single sign-on solution I have found that works with vBulletin and MediaWiki. Basically, I'd have to write my own, which is not in the cards any time soon. Since this is a manual process, this is another reason why I deliberately limited. I am not a fan of wide open wikis.

So, my default is that anyone can suggest content be added to the wiki. If that person provides the MediaWiki markup ready to go, it becomes very easy to add in. For granting access, I usually look for people that have been regular contributors to the forums for a lengthy amount of time, in addition to moderators (which are usually the same pool). People that I automatically agree to invite typically invite have thousands or tens of thousands of forum posts, which shows me they are an active long-time contributor.

Regards,
JPG

Minty23185Fresh
February 10th, 2018, 23:46
@Moon Wizard.
Okay. I understand and acknowledge your decision process. I will let go of this bone. And when I believe I have content worth submitting I will format it and forward it to you.

Thanks for your indulgence and for entertaining this discussion.

Bidmaron
February 11th, 2018, 00:37
I respect your views and decision, MW. Perhaps when I get the Generators extension posted I might qualify to operate a segment of the Wiki.

dulux-oz
February 11th, 2018, 02:04
I would definitely be willing to be a contributor and help moderate. Not willing to step up and be responsible for updating all of the content :)

Actually Moon, I'd be willing to help Moderate as well - again, like LordE, I don't have time and/or the full FG-expanse of knowledge (across ALL the Rulesets, etc) to be the overall-one-in-change, but I'd certainly like to help (and, of course, I do already have Wiki-Edit Privliges and FWIW I run my own couple of very small Wikis)

Just my $0.02 offer :)

damned
February 11th, 2018, 02:06
In the meantime you absolutely can produce output and send to Moon Wizard (I can add it too) for addition to the Wiki.
I do like the idea of having chunks of code and detailed explanations of what they do and how as references for other developers new and existing.
I could host a community wiki and whilst it would have some advantages it would be better to leave things all here if possible and work within the current framework.

LordEntrails
February 11th, 2018, 02:55
I think my next community contribution will be to write up something about how to contribute to the wiki, including how to create "MediaWiki markup" and who to submit it to.

We'll get there :)

Bidmaron
February 11th, 2018, 03:46
Here is an example of what I'd like to place that I have been compiling:


OptionsManager: manager_options.lua **not done**
addOptionValue(sKey, sLabel, sValue, bUseResource)
given an option identifier, the user-facing label (or its resource id),
the corresponding code value, and whether resources are in use, adds the
label to the label list and the code value into the options listings
deleteOption(sKey)
given an option identifier, removes it from the options manager data
structures. This is an internal routine and users should call
unregisterCallback instead
getOption(sKey)
given an option identifier, returns the current value associated with it
isMouseWheelEditEnabled()
returns true if mouse wheel scrolling can edit a numeric value
isOption(sKey, sTargetValue)
given an option identifier and a test value, returns true if the option is set to the test
value
makeCallback(sKey)
onOptionChanged(nodeOption) --internal routine registered with database to
invoke registered callbacks.
populate(win)
registerCallback(sKey, fCallback)
given the key of interest and the routine to invoke, registers a routine
to be invoked when the key value changes.
registerOption(sKey, bLocal, sGroup, sLabel, sOptionType, aCustom)
see registerOption2, which supports string resources and internationalization
registerOption2(sKey, bLocal, sGroupRes, sLabelRes, sOptionType, aCustom)
sKey - the name of the option used in programs
bLocal - true if the option should be active when user is in player local mode
sGroupRes - the resource specifying the option group header under which the option will appear
sLabelRes - the string resource for the displayed title of the option
sOptionType - normally 'option_entry_cycler'
aCustom - an array of options. Must specify one or more label string resources, the
corresponding values the program will use for those labels, the resource for the
first option, the program reference for that option, and the default option to use.
example: { labels = "option_val_append|option_val_random", values = "append|random",
baselabel = "option_val_off", baseval = "off", default = "append" }
setOption(sKey, sValue)
setOptionDefault(sKey, sDefaultValue)
unregisterCallback(sKey, fCallback)
StringManager: manager_strings.lua done
addTrailing(s, c)
given a string and the desired trailing character, adds that trailing character to the end
of the input string if it is not already the ending character
autoComplete(aSet, sItem, bIgnoreCase)
given a set of extrapolated strings, a candidate to look up, and whether to ignore letter
casing, looks for the first match of the candidate within the array, returning all remaining
characters after the match
capitalize(s)
given a string, returns the string with first word capitalized
capitalizeAll(s)
given a string, returns the string with all words capitalized
combine(sSeparator, ...)
given a separator string and a series of strings to combine, returns a
string that combines all strings supplied with the separator character
between each of them.
contains(set, item)
given an array of legal values and a test item, returns true if the test item is in the array
of legal values.
convertDiceToString(aDice, nMod, bSign)
given a dice array, a modifier and wether to include the sign, returns a
string form of the roll specification.
convertStringToDice(s)
given a string, returns a die array and a modifier. Note it assumes that the string is a valid
dice expression.
evalDice (aDice, nMod, bMax)
given a dice array, any modifier to the dice totals, and whether to return
the max possible roll, returns the evaluation of the dice.
evalDiceString (sDice, bAllowDice, bMaxDice)
given a dice string, whether to evaluate any dice in the string, and whether
you want the max roll or a random roll, returns the evaluation of the dice
string.
evalDiceStringMin(sDice) (present only if generators also running)
given a string containing a dice expression, returns the minimum value that string could have.
evalDiceMathExpression(sParam, bMaxDice)
given a string containing a a math expression that optionally may have die
speifications, returns the randomly determined result (if any die present)
or 0 if there is an error.
extract(s, nStart, nEnd)
given a string, the start and end position of the extracted portion, returns
the substring at the indicated position and the string with the indicated
portion removed.
extractpattern(s,sPattern)
given a string and a desired search pattern, returns the extracted string
(in case there were wildcards) and the string without the pattern.
findDiceMathExpression (s, nStart)
given a string and the integer position to start looking, returns the
start and finish position of a dice bill
isDiceString(sWord)
given a string, returns true if the string is a valid die specification.
isDiceMathString(sWord)
given a string, returns true if the string is a valid die specification with or without math
inside it.
isNumberString(sWord)
given a string, returns true if the given string is an integer.
isPhrase(aWords, nIndex, aPhrase)
given an array of words, a starting index within that array, and an array of comparison words,
returns true if the words in the first array, starting at the given index, exactly match the
comparison array (not used anywhere in code)
isWord(sWord, vTarget)
given a test string and either a comparison string or a table of valid strings, returns true
if the test string is identical to the comparison string or is in the table of acceptable
values
multireplace(s, aPatterns, sReplace)
given a source string, a pattern to be replaced or array of patterns to be replaced, and the
replacement string, returns the source string with all occurrences of the pattern(s) replaced
with sReplace
parsewords(s, extra_delimiters)
given a source string, and an optional string of delimiter characters in
addition to the defaults of anything that isn't an alphanumeric, and the
plus and minus signs, the single quote, and the back-quote, returns the
resultant array of words in the source string
split(sToSplit, sDelimiters, bTrimSpace)
given a source string, a set of delimiter characters, and whether to trim
white space after a delimiter,
returns an array of substrings separated by the delimiters and an array
of start and ending position of the substrings in the original.
strip(s)
given a string, returns the same string with all whitespace packed down to
a single space and with leading and trailing blanks removed.
trim(s)
given a string, returns that string stripped of any leading and trailing whitespace, where the
non white-space began in the original string, and where trailing whitespace began.
UtilityManager:
getSortedTable(aOriginal)
Converts a table into a numerically indexed table with the data from the original but
the new table does not have the original keys.
copyDeep(v)
Performs a structure deep copy. Does not copy meta-table information.
encodeXML(s)
takes text and makes it into xml-safe characters, replacing '&', '<', '"', single-quote
getDataBaseNodePathSplit(vNode)
given either a node path or a node table, returns period-separated strings from each node
level
getNodeAccessLevel(vNode)
returns type of node access, where 1=specific holders, where second return is an array
of holder names, 2=public, 0=no access except host
getNodeCategory(vNode)
if given a lua table, returns the name field; otherwise, returns the parameter itself
getNodeModule(vNode)
returns module name of node
getTopWindow(w)
returns topmost window of the control passed


This is the CoreRPG routine documentation for a few of the manager files. It is up-to-date as of 3.3.3 (need to confirm no changes in 3.3.4)

Bidmaron
February 11th, 2018, 03:48
I had to break it up because it was too long:

ActionsManager: manager_actions.lua not done***
createActionMessage(rSource, rRoll)
given an optional source record and a roll record, returns a chat window message record set up
with the roll type stored in the roll record, the message in the roll record, the rolled dice,
and the roll modifier.
performAction (draginfo, rActor, rRoll)
given the parameters for an action, takes that action.
total(rRoll)
given the roll results, returns the total of all dice and the modifier.
internal routines: initAction, onInit, registerModHandler, registerPostRollHandler, processPercentiles,
registerTargetingHandler, registerPostRollHandler, unregisterPostRollHandler,
unregisterModHandler, unregisterPostRollHandler, unregisterTargetingHandler
ChatManager: manager_chat.lua not done***
createBaseMessage(rSource, sUser)
Given an optional source record (with name field, etc [see ActorManager]) and an optional
user name, returns a message record for use in the chat window.
registerResultHandler(sActionType, callback)
given an action type and the function upon completion of that type, adds that to the queue
to determine routine to execute upon the action type occurring.
SystemMessage(sText)
Given the text of a message, displays it to all stations
unregisterResultHandler(sActionType)
Given the action type to be disabled, removes one or more handlers for the given aciton type
internal routines: doUserAutoComplete, onInit, moduleUnloadedReference, onReferenceLoadCallback,
onSlashCommand, Message, processDie, processMod, processFlush, processExportPC,
processImportNPC,
processImportPC,
registerLaunchMessage,
retrieveLaunchMessages, searchForIdentity

LibraryData: has excellent documentation at start of file
getRecordTypes()
returns table of all defined record types
getRecordTypeInfo(sRecordType)
returns the information on a given record type (see file docs for the information returned)
setRecordTypeInfo(sRecordType, rRecordType)
sets record type information to the given data
getRecordTypeFromPath(sPath)
given the data path to the record master node, returns the record type
isHidden(sRecordType)
given the record type, returns whether that record type has the hidden flag set
getDisplayIcons(sRecordType)
returns both the sidebar and library icons for the record type
getDisplayText(sRecordType)
returns the record identification string for the given record type
getRootMapping(sRecordType)
returns the data type of the record itself
getMappings(sRecordType)
returns all defined data types
getIndexButtons(sRecordType)
returns a list of player or GM list buttons (those at bottom), depending upon isHost
addIndexButton(sRecordType, sButtonTemplate)
given a record type and a template name, adds a button to the player or GM list
buttons (those at bottom), depending upon isHost
getEditButtons(sRecordType)
same as getIndexButtons
getCustomFilters(sRecordType)
given a record type, returns the filters in effect for categories
getEmptyNameText(sRecordType)
given a record type, returns the empty name string
getEmptyUnidentifiedNameText(sRecordType)
given a record type, returns the empty string for an unidentified record
getRecordDisplayClass(sRecordType, sPath)
given a record type and a data path, returns the display class name
isRecordDisplayClass(sRecordType, sClass)
given a record type and a class name, returns false only if the class isn't
associated with the record type
getRecordTypeFromDisplayClass(sClass)
given a class name, returns the record type associated with that class
isIdentifiable(sRecordType, vNode)
given a record type and a data node, returns whether that node is identifiable, using
the fIsIdentifiable routine to make the determination
getIDOption(sRecordType)
given a record type, returns whether identification is associated with that type
getIDState(sRecordType, vNode, bIgnoreHost)
given a record type, a data node, and whether to ignore id for the host, returns
whether identification is enabled for the record type and whether the data node
is identified
getCustomData(sRecordType, sKey)
given a record type and a key into any custom data, returns the custom data at the
key, if it exists
setCustomData(sRecordType, sKey, v)
given a record type, a key into any custom data, and the data to place, stores the
given data into the custom data associated with the record type
allowCategories(sRecordType)
given a record type, returns whether categories are enabled for the record type
allowEdit(sRecordType)
given a record type, returns true if the user is connected to a host if the edit
mode is "play", returns false if the edit mode is "none", or returns true if the
user is the host
OptionsManager: manager_options.lua **not done**
addOptionValue(sKey, sLabel, sValue, bUseResource)
given an option identifier, the user-facing label (or its resource id),
the corresponding code value, and whether resources are in use, adds the
label to the label list and the code value into the options listings
deleteOption(sKey)
given an option identifier, removes it from the options manager data
structures. This is an internal routine and users should call
unregisterCallback instead
getOption(sKey)
given an option identifier, returns the current value associated with it
isMouseWheelEditEnabled()
returns true if mouse wheel scrolling can edit a numeric value
isOption(sKey, sTargetValue)
given an option identifier and a test value, returns true if the option is set to the test
value
makeCallback(sKey)
onOptionChanged(nodeOption) --internal routine registered with database to
invoke registered callbacks.
populate(win)
registerCallback(sKey, fCallback)
given the key of interest and the routine to invoke, registers a routine
to be invoked when the key value changes.
registerOption(sKey, bLocal, sGroup, sLabel, sOptionType, aCustom)
see registerOption2, which supports string resources and internationalization
registerOption2(sKey, bLocal, sGroupRes, sLabelRes, sOptionType, aCustom)
sKey - the name of the option used in programs
bLocal - true if the option should be active when user is in player local mode
sGroupRes - the resource specifying the option group header under which the option will appear
sLabelRes - the string resource for the displayed title of the option
sOptionType - normally 'option_entry_cycler'
aCustom - an array of options. Must specify one or more label string resources, the
corresponding values the program will use for those labels, the resource for the
first option, the program reference for that option, and the default option to use.
example: { labels = "option_val_append|option_val_random", values = "append|random",
baselabel = "option_val_off", baseval = "off", default = "append" }
setOption(sKey, sValue)
setOptionDefault(sKey, sDefaultValue)
unregisterCallback(sKey, fCallback)

Minty23185Fresh
February 11th, 2018, 04:08
I think my next community contribution will be to write up something about how to contribute to the wiki, including how to create "MediaWiki markup" and who to submit it to.

I look forward to this. I'm going to have to do it for a submission I'm working on.

Moon Wizard
February 11th, 2018, 04:35
dulux-oz, you've had access for quite a while, when you asked for it before. ;)

JPG

dulux-oz
February 11th, 2018, 05:26
dulux-oz, you've had access for quite a while, when you asked for it before. ;)

JPG

Yes, I know - I was acknowledging that in my post :)

What I was trying to say was that in addition to my current Edit-Permissions, if you needed/wanted some help with the Moderation of the Wiki then I could help with that, as well, if you wanted/needed it.

JML
February 11th, 2018, 08:04
Thanks so much Bidmaron. This is something I was really looking for, to the point I wondered if I would do it myself. You save me so many hours of tedious work :D

Ken L
February 11th, 2018, 08:23
On roll20 there was a public wiki tied to your account. I think you had to have a sub or a contribution (character sheet) in order to modify it. I could be wrong, but I recall re-arranging their community scripts page links without issue as well as adding my own documentation.

FG could adopt this model for those whom own licenses.

Minty23185Fresh
February 12th, 2018, 15:00
Just so we're all on the same page, I'd like to make sure I have an understanding of what is expected of Wiki contributors and certainly moderators.

Wiki pages are "living" documents managed by all contributors. An author who writes a page is writing about his or her understanding of a subject at a particular point in time. Things may change and render some or all of the authored page moot or incorrect. There is no demand that an author return to fix the page. He or she might but it is not expected. A viewer of the page, sometime later may recognize a page is out of date and decide to mark it as such and maybe even correct it.

There is divestiture.

Is this understanding correct?

Minty23185Fresh
February 12th, 2018, 15:25
And speaking of divestiture.

There is a certain Wizard, that we all know and respect, that must also divest himself of the Community Wiki. He has much on his plate, and needn't "herd these cats" as another task on that plate. Particularly well written and correct Community Wikis might be referred to in the Wizard's own documentation efforts. Other pages found to be lacking might be tagged as inaccurate or incomplete. It is not expected that the Wizard will oversee, correct and/or comment pages. It's understood that he probably won't even read many of the published Community Wiki pages.

:)

Bidmaron
February 12th, 2018, 15:51
Minty, SW has controlled access to the Wiki fairly tightly. I think for the near term if someone notes an issue with a wiki page, they will have to go to one of us that has edit privileges and we can fix it.

Moon Wizard
February 12th, 2018, 18:51
Yes, that's the idea. Also, I don't want to overlay a lot of bureaucracy to the process, but to leave it ad hoc.

Keeping a reduced set of long-term users as editors actually reduces the burden of policing the wiki from random people spamming the wiki that are just looking for places to post their ads.

Regards,
JPG

Minty23185Fresh
February 12th, 2018, 19:09
.... invite [those that] have thousands or tens of thousands of forum posts, which shows me they are an active long-time contributor....

I am totally good with this. There has to be a cut-off and I don't qualify (yet). I'm not going to whine that I have not been invited (yet).


.... So, my default is that anyone can suggest content be added to the wiki. If that person provides the MediaWiki markup ready to go ....

So that said. I believe the MediaWiki site has tools, tutorials and a sandbox in which to (re)learn wiki page authoring. Is there, I believe the term is, a blank FG "skin" from which to start with? Would one of the wiki moderators kindly provide me with a copy, please? Or is it more effective for me to just grab one of the less complicated pages in existence and copy it to MediaWiki.org?

Thanks in advance, guys.

Bidmaron
February 12th, 2018, 19:21
Minty, I am no MediaWiki expert, but I think I can put things into the template. If you just want to send me what you'd like to post, I'll try to whip it into the proper format. Since the pages won't have a lot of embedded hyperlinks, this should be fairly easy.

LordEntrails
February 12th, 2018, 19:22
So that said. I believe the MediaWiki site has tools, tutorials and a sandbox in which to (re)learn wiki page authoring. Is there, I believe the term is, a blank FG "skin" from which to start with? Would one of the wiki moderators kindly provide me with a copy, please? Or is it more effective for me to just grab one of the less complicated pages in existence and copy it to MediaWiki.org?

Thanks in advance, guys.
One of my goals was to document the process, but I haven't started yet. If you figure it out and are up for documenting it, then I would make a wiki page for it. it's been a lot of years since I did much wiki authoring, so I've got to re-learn the ins and outs.

PM or email me (@gmail) if you want to work through this together.

Minty23185Fresh
February 13th, 2018, 01:57
... If you just want to send me what you'd like to post, I'll try to whip it into the proper format...
Thanks Bidmaron for the offer. I don't, as of this moment, have anything that is ready to post. It's a conceptual thing right now that I was laying the ground for, to possibly get it on the Wiki. I kind of regret starting this thread now. It's waylayed a lot of people, using up their valuable time, and to what ends, I'm not sure.

I don't usually ask others to do my work for me, so for me to kludge something together, and then ask you or someone else to trudge through it, trying to sort it out, is probably not going to happen. I'll be much more comfortable with my submission when I can come up with a drop it in, and it goes solution.

Again, thank you for the offer, I sincerely appreciate it.

LordEntrails
February 13th, 2018, 02:03
I don't regret you starting the thread. I think it has helped to move things forward in a positive way. Small steps and all :)

Minty23185Fresh
February 13th, 2018, 02:18
One of my goals was to document the process, but I haven't started yet. If you figure it out and are up for documenting it, then I would make a wiki page for it....
Sorry LordEntrails, that wasn't my intention. I need to step back a bit and let you guys get your wiki hats on and see how they fit. I'll wait for a bit.


... if you want to work through this together.
I'm not quite sure how this would work, but I am willing to give it a go. We're on different playing fields. You have access to the FG wiki. I do not. I was going to try to come up to speed using the MediaWiki sandbox area.

I'm not even sure what a "complete" submission would look like. I need to wait for your guidelines. That's what I'll do. In the meantime, I can formalize my thoughts, so that I'm ready to go, when it's go time.

Bidmaron
February 13th, 2018, 02:20
LE, I just sent you a PM. I loaded my first content, but the formatting is not working. Oh, and I forgot to include in my post that it is valid as of CoreRPG 3.3.4

Minty23185Fresh
February 13th, 2018, 18:38
@Community Wiki Moderators

Suggestion: I'm not sure how "moderating" will work? Does the Community Wiki need some sort of submission portal? Trying to monitor the entire forums and all the threads going on there for a nugget of wiki material might be daunting...

And here is a request (https://www.fantasygrounds.com/forums/showthread.php?42423-lt-button_iconcyler-gt-why-no-default-value-setting&p=376455#post376455)

Moon Wizard
February 13th, 2018, 18:43
And thus why moderation and curation of content for wikis is such an intensive task, in addition to the policing for inappropriate content (which we've removed by making the wiki editing limited to long-time users only). It's never a fire and forget solution.

I would say that you should just keep it simple, throw some stuff together you think will be useful on the forum, have a good discussion about what should be updated on the wiki, and then one of the moderators or myself can update the wiki.

Just don't get too hung up on creating a process. It's not really needed for this more relaxed environment.

Regards,
JPG

LordEntrails
February 13th, 2018, 18:45
@Community Wiki Moderators

Suggestion: I'm not sure how "moderating" will work? Does the Community Wiki need some sort of submission portal? Trying to monitor the entire forums and all the threads going on there for a nugget of wiki material might be daunting...

And here is a request (https://www.fantasygrounds.com/forums/showthread.php?42423-lt-button_iconcyler-gt-why-no-default-value-setting&p=376455#post376455)
As Moon said, we want to keep it simple. I do think we need to add a wiki page and link it from the homepage that is something like "Want to contribute?" and then simple instructions on how to write up or mark up something and who & how to send it to them.

I'll take a look at your request and see what I can do with it :)

Bidmaron
February 14th, 2018, 09:12
LE, your PM inbox if full:
I think that page is ready for placement now. I will create others oriented around documenting aspects of CoreRPG. Perhaps you could create a link in the main table under the "Other Content" called "CoreRPG Ruleset Documentation" that points to a new page that has two link areas. The first would be called "Manager Routine Documentation" and the second "Template Documentation". The page we built would be linked under "Manager Routine Documentation."

LordEntrails
February 14th, 2018, 16:26
Yep, cleaned it up some. Need to start archiving it.

Anyway, Let me see what I can do later today to get that moved and setup like you described.

Minty23185Fresh
February 20th, 2018, 21:38
@Bidmaron and Lord Entrails..

After completing my work (https://www.fantasygrounds.com/forums/showthread.php?42423-lt-button_iconcyler-gt-why-no-default-value-setting)on the <button_iconcycler> template (control) I believe myself to be an "expert" on it. :o :) :o
I would like to write up a community wiki page and submit it to you. Have you guys settled on a format (Word? .txt? google doc?) Do you want wiki calls embedded? (I'm not sure I can do this, the MediaWiki page on the internet is less robust than I had originally thought).

The page would fit under the category of.......
"[control name] Revealed" or
"[control name] Explained" or
"[control name] Dissected"
something like that...

Do you have a category name you prefer?

LordEntrails
February 20th, 2018, 22:38
@Bidmaron and Lord Entrails..

After completing my work (https://www.fantasygrounds.com/forums/showthread.php?42423-lt-button_iconcyler-gt-why-no-default-value-setting)on the <button_iconcycler> template (control) I believe myself to be an "expert" on it. :o :) :o
I would like to write up a community wiki page and submit it to you. Have you guys settled on a format (Word? .txt? google doc?) Do you want wiki calls embedded? (I'm not sure I can do this, the MediaWiki page on the internet is less robust than I had originally thought).

The page would fit under the category of.......
"[control name] Revealed" or
"[control name] Explained" or
"[control name] Dissected"
something like that...

Do you have a category name you prefer?

No, we don't. I would says a plain text file, because at this point if we suggest Word or Google Doc, you might use formatting that isn't available in the Wiki. I had a few links, maybe Bidmaron has them, but I think I deleted them when my inbox was full :(

But you can send it to me if you want (lordentrails at gmail) and I will work to make it available. Also let me know what pages it should be linked from. Might take a few iterations to get it right this first time, but I can use it to document how to do it for next time.