depwl9992 / anomalyjobs Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/anomalyjobs
Automatically exported from code.google.com/p/anomalyjobs
CMD_JOB/DUE2 has issues with the @switch. Namely there are two 10* results.
Unfixed and unchecked at this time as I am focusing on formatting the code.
Original issue reported on code.google.com by [email protected]
on 29 Oct 2007 at 8:16
In Pennmush, lattr() returns an alphabetically sorted list. This results
in comments being returned in the order 1, 10, 11, .., 19, 2, 20, 21, ...
etc. for commands listing comments on jobs. (+job/all, etc.)
Original issue reported on code.google.com by [email protected]
on 23 Nov 2009 at 4:37
Using '+job/deny =<message>' will result in a random job being denied.
Presumably this bug exists in /approve, /delete and /complete, but I have
tested those at this point.
Original issue reported on code.google.com by [email protected]
on 21 Oct 2006 at 5:18
What steps will reproduce the problem?
1. Set yourself nospoof
2. Set up some jobs that you do not have access to.
3. Hit +myjobs
What is the expected output? What do you see instead?
-Expected output is a list of only those jobs you have access to.
-Actual output is those jobs you have access to, plus a line of nospoof
content for every job you /don't/ have access to. On a busy game, this can
be very spammy.
Original issue reported on code.google.com by [email protected]
on 6 Nov 2007 at 4:57
When installing Jobs the final @wait is lost when the game is restarted.
This contains critical security information.
Original issue reported on code.google.com by [email protected]
on 6 Sep 2006 at 11:40
# +bucket/check <player>
# Checks all buckets and displays which the player has access to.
&CMD_BUCKET/CHECK #30=$+bucket/check *:
@switch
[isdbref(setr(0,pmatch(%0)))]
=
0,{@pemit %#=There is no such player.}
,{
@pemit %#=[u(%va/FN_HEADER,Bucket Information For
[name(%q0)])]%r%r %xh[ljust(Bucket,15)]%bHas Access?%xn%r
[iter( lcon(%VC),
[ljust(name(##),15)]%b[ifelse(u(%VA/fn_accesscheck,##,%q0),Yes,No)]
,%b,%r)];
@pemit %#=%r[u(%va/FN_FOOTER)]}
-
Original issue reported on code.google.com by [email protected]
on 2 Nov 2006 at 12:45
Idea by Seshat @ Electric Soup:
+build, which sends tasks to the BUILD queue.
Original issue reported on code.google.com by [email protected]
on 7 Sep 2007 at 1:46
Have you ever had a job that you were primarily responsible for, and you
needed to hold off on it pending someone else doing something?
Many issue tracking systems allow you to specify a "next-action", meaning
that while this job is still yours, you can't do anything until someone
else completes a related task or sub-task.
Assuming we have Job 100, a coding project to that requires a policy file
to be written to define its scope, I propose:
+job/next 100/Project News=We need to define the policy for what this
project is doing.
This command will do the following:
#1) It will lock 100 from editing, and set its escalation to NEXT.
#2) On the job list, jobs escalated to NEXT appear plain-gray-- as opposed
to green/yellow/red.
#3) A new job will be created in the NEXT bucket, 101, with the title of
'Project News', and the initial comment of 'We need to define...etc'.
#4) The new job will inherit the escalation of the original job.
#5) If you +job/approve 101=msg or +job/deny 101=msg, that message will be
added into job 100 indicating that the sub-job was complete.
#6) When the sub-job is complete, the parent will be unlocked.
Like, dislike?
Original issue reported on code.google.com by [email protected]
on 23 Oct 2007 at 9:07
Running on Pennmush 1.8.3 patchlevel 6 - Anomaly version 5.1 09Jan2007
Pennmush does not support the !commands flag. Instead we use @set
foo=!no_command
:-)
Original issue reported on code.google.com by [email protected]
on 22 Jan 2008 at 12:37
What steps will reproduce the problem?
1. Create a TPS or RP job using the default Summary
2. Add a PC to one of the player/staff lists
3. The player is idlenuked.
4. You can no longer remove that player/dbref from the list, since the
object is no longer a player type.
Something will need to be done to manage the dbrefs or allow staff to clean
out non-player dbrefs from the list.
Original issue reported on code.google.com by [email protected]
on 7 Sep 2006 at 3:21
Strip out the instructions at the top of the install file and move them to
the README.
Original issue reported on code.google.com by [email protected]
on 29 Oct 2007 at 4:59
What steps will reproduce the problem?
1. Create a TPS or RP job using the default Summary
2. Add a PC to one of the player/staff lists
3. The player is idlenuked.
4. You can no longer remove that player/dbref from the list, since the
object is no longer a player type.
Something will need to be done to manage the dbrefs or allow staff to clean
out non-player dbrefs from the list.
Original issue reported on code.google.com by [email protected]
on 7 Sep 2006 at 8:47
Comparing a diff to the currect Jobs 5.1 I see the following issues:
1) Line 147 - the Rhost file has the flags COMMAND and SIDEFX set on a new
bucket.
2) Line 180 - the Rhost file uses a ufunc for itemize instead of imteize().
This is accompanied by the addition of the following to the install file:
@swi first(version())=RhostMUSH,{&FN_ITEMIZE Job Database
<JD>=\[elist(%%0,and,%%1)\]},{&FN_ITEMIZE Job Database
<JD>=\[itemize(%%0,%%1)]}
3) Line 183 - the Rhost file has the following for +job/sumset. I have not
looked to see if this is a bug fix or game specific or what.
&CMD_JOB/SUMSET Job Global Object <JGO>=$+job/sumset */*=*:@switch
[setq(5,0)][setq(0,locate(%va,Job
%0,i))][and(u(%va/HAS_ACCESS,%#),u(%va/CONFIG_ACCESS,%#),u(%q0/ACCESS_%1,%#))][i
sdbref(%q0)][not(u(%va/IS_LOCKED,%q0))][hasattrp(%q0,ACCESS_%1)][u(%q0/PROCESS_%
1,%2,%q0,%#)]=0*,{@pemit
%#=Permission denied.},10*,{@pemit %#=There is no bucket by that name. See
'[ansi(h,+buckets)]' for a list of valid buckets.},110*,{@pemit %#='%1' is
not a valid parameter. Valid parameters for [name(%q0)] are
[u(%va/FN_PRETTY,map(%va/MAP_PARAMS,lattr(%q0/PROCESS_*)))].},1110*,{@pemit
%#=That job is locked. It cannot be modified until it is
unlocked.},11110*,{@pemit %#=[u(%q0/ERROR_%1%q2)]},{@trigger
%va/TRIG_BROADCAST=[parent(%q0)],[name(%q0)]'s [ucstr(%1)] parameter
updated by %n.;&%q3 %q0=%q1;@trigger %va/TRIG_ADD=%q0,[ucstr(%1)] parameter
updated to '%2',%#,SUM}
4) Line 193. Change @wait .1 to @wait 1. Should this be a end-of-install
@edit?
5) Line 197. @wait .1 to @wait 1.
6) Line 202. @wait .1 to @wait 1.
7) Line 207. @wait .1 to @wait 1.
8) Line 260. Swapping of itemize() to fn_itemize.
9) Changed (orflags(%#,WZ) to u(%va/IS_ADMIN,%#). Rhost file also added
@swi first(version())=RhostMUSH,{&IS_ADMIN Job Database
<JD>=\[gte(bittype(%%0),2)\]},{&IS_ADMIN Job Database <JD>=\[orflags(%%0,WZ)\]}
10) Line 289. Changed
&FN_BUCKETNAME Job Database
<JD>=[ifelse(isdbref(parent(%0)),name(parent(%0)),ifelse(hasflag(%0,GOING),GOING
,ERROR))]
to
&FN_BUCKETNAME Job Database
<JD>=[ifelse(hasflag(%0,GOING),GOING,ifelse(isdbref(parent(%0)),name(parent(%0))
,ERROR))]
11) Line 309. Changed itemize to FN_ITEMIZE.
12) Line 407. Changed itemize to FN_ITEMIZE. Also changed all instances of
@log to
@trigger %va/TRIG_LOG_WRITE=[u(%q1/LOGFILE)],
Added
&TRIG_LOG_WRITE Job Database <JD>=@switch
[first(version())]=RhostMUSH,{@log/file %0=%1},{@log %0=%1}
13) Line 436. Changed itemize to FN_ITEMIZE.
15) Line 452. Changed itemize to FN_ITEMIZE.
16) Line 479. Changed to
@swi first(version())=RhostMUSH,{&TRIG_MAIL Job Tracker=mail
%[remove(%%0,owner%(me%)%)%]=%%1//%%2},{@mail/quick
%[remove%(%%0,owner%(me%)%)%]/%%1=%%2}
17) Line 778. Changed itemize to FN_ITEMIZE. 2 instances.
18) Line 778. Changed itemize to FN_ITEMIZE. 2 instances.
19) Line 872. Changed
&FN_WIZONLY Job Database <JD>=[hasflag(%0,WIZARD)]
to
&FN_WIZONLY Job Database <JD>=[u(%va/IS_WIZARD,%0)]
Added
@swi first(version())=RhostMUSH,{&IS_WIZARD Job Database
<JD>=\[gte(bittype(%%0),5)\]},{&IS_WIZARD Job Database
<JD>=\[hasflag(%%0,WIZARD)\]}
20) Line 873. Changed
&FN_STAFFALL Job Database <JD>=[orflags(%0,WZ)]
to
&FN_STAFFALL Job Database <JD>=[u(%va/IS_ADMIN,%0)]
21) Line 936. Changed to
@switch [first(version())]=TinyMUSH,{&BUFFER Job Database
<JD>=4000},RhostMUSH,{&BUFFER Job Database <JD>=3999},{&BUFFER Job Database
<JD>=8000}
22) Added installation directives to set !NO_COMMAND and SIDEFX on the JGO,
JD and JPO, and NO_COMMAND and SIDEFX on the Job Tracker,
23) Line 988. Changed @switch
[setq(0,search(object=bbpocket))][isdbref(%q0)]=0,{@pemit
%#=[ansi(hc,ANOMALY JOBS:)] Couldn't find Myrddin's BBS. Installation is
not complete.},{@pemit %#=[ansi(hc,ANOMALY JOBS:)] Setting up the
BBS..;+bbnewgroup Job Tracker;@wait 2={+bbnewgroup Staff Job Tracker};@wait
5={&POST_COMPLETE
[setq(1,extract(u(%q0/GROUPS),dec(words(u(%q0/GROUPS))),1))][setq(2,last(u(%q0/G
ROUPS)))]Job
Parent Object <JPO>=member(u(%q0/GROUPS),%q1);&POST_APPROVE Job Parent
Object <JPO>=member(u(%q0/GROUPS),%q2);&POST_DENY Job Parent Object
<JPO>=member(u(%q0/GROUPS),%q2);&POST_DELETE Job Parent Object
<JPO>=member(u(%q0/GROUPS),%q2);&CANREAD %q1=1;&CANWRITE
%q1=%[or%(switch%(num%(%%#),[num(Job
Tracker)],1,0%),orflags%(%%#,WZ%)%)%];&CANREAD
%q2=%[orflags(%%#,WZ)];&CANWRITE %q2=%[or%(switch%(num%(%%#),[num(Job
Tracker)],1,0%),orflags%(%%#,WZ%)%)%]}}
to
@switch [setq(0,search(object=bbpocket))][isdbref(%q0)]=0,{@pemit
%#=[ansi(hc,ANOMALY JOBS:)] Couldn't find Myrddin's BBS. Installation is
not complete.},{@pemit %#=[ansi(hc,ANOMALY JOBS:)] Setting up the
BBS..;+bbnewgroup Job Tracker;@wait 2={+bbnewgroup Staff Job Tracker};@wait
5={&POST_COMPLETE
[setq(1,extract(u(%q0/GROUPS),dec(words(u(%q0/GROUPS))),1))][setq(2,last(u(%q0/G
ROUPS)))]Job
Parent Object <JPO>=member(u(%q0/GROUPS),%q1);&POST_APPROVE Job Parent
Object <JPO>=member(u(%q0/GROUPS),%q2);&POST_DENY Job Parent Object
<JPO>=member(u(%q0/GROUPS),%q2);&CANREAD %q1=1;&CANWRITE
%q1=%[or%(switch%(num%(%%#),[num(Job
Tracker)],1,0%),u%(%%va/IS_ADMIN,%%#%)%)%];&CANREAD
%q2=%[u(%%va/IS_ADMIN,%%#)];&CANWRITE %q2=%[or%(switch%(num%(%%#),[num(Job
Tracker)],1,0%),u%(%%va/IS_ADMIN,%%#%)%)%]}}
Original issue reported on code.google.com by [email protected]
on 29 Oct 2007 at 4:13
Running on Pennmush 1.8.3 patchlevel 6 - Anomaly version 5.1 09Jan2007
Pennmush does not support the HALTED flag - only HALT (and of course !HALT).
:-)
Original issue reported on code.google.com by [email protected]
on 22 Jan 2008 at 12:45
I'd personally find it useful to have the help file as a portion of the
wiki. It may not be easily manageable in that format. Even a direct
download of help as text separated from the zip file would be useful.
Original issue reported on code.google.com by [email protected]
on 5 Feb 2008 at 3:25
TM3.0 (pre 3.1) uses setx() for 'named' variables instead of using setq()
with registers 0-9 and A-Z. Support for the older platforms would be very
useful.
Original issue reported on code.google.com by [email protected]
on 29 Apr 2007 at 1:47
The 'locked job check' and the 'valid sumset option check' are backwards,
producing incorrect and confusing errors.
Original issue reported on code.google.com by [email protected]
on 6 Sep 2006 at 11:41
What steps will reproduce the problem?
1. Install Anomaly Jobs
2. Add a new job
What is the expected output? What do you see instead?
The installation creates Job 1. The first user-created job should be Job
2. Instead, the first user-created job ends up being Job 3.
Please provide any additional information below.
In the install, the following line is set:
&JOBS_NUM Job Database <JD>=2
In fact, new jobs increment this number for assignment, so it should be
initialized to 1, not 2.
This is easily fixed by using +jobs/compress after installation. But future
patches should be corrected to display properly.
Original issue reported on code.google.com by [email protected]
on 8 Dec 2009 at 1:00
In +bucket/info track the stats for total approved, denied, completed and
deleted jobs in the bucket.
Original issue reported on code.google.com by [email protected]
on 18 Oct 2006 at 7:43
On 5.1 new installs, the REQ bucket is setting POST_COMPLETE to 11
(Anomaly's old Staff Job Tracker) instead of whatever board ID is being
set up.
The REQ bucket should have all POST_* data to be set to the new Staff Job
Tracker. This is done at the parent level for *_APPROVE and *_DENY, but is
being overridden at the bucket level with *_COMPLETE.
Original issue reported on code.google.com by [email protected]
on 5 Sep 2007 at 2:57
Running on Pennmush 1.8.3 patchlevel 6 - Anomaly version 5.1 09Jan2007
Pennmush does not have the UNINSPECTED flag. :-)
Original issue reported on code.google.com by [email protected]
on 22 Jan 2008 at 12:35
Job Database under DEFAULT_BUCKETLIST this function is called up resulting
in not displaying any of the buckets.
What is the expected output? What do you see instead?
Header, buckets, footer.
Header, #-1 FUNCTION (LIST) EXPECTS 1 ARGUMENTS BUT GOT 2, footer
What version of the product are you using? On what operating system?
5.1
Win32
Original issue reported on code.google.com by blank.forrest
on 10 Jan 2009 at 11:40
TRIG_BROADCAST (and possibly other code) doesn't send to dark wizards on
Pennmush becasue TRUST (Penn's INHERIT equivalent) does not provide see_all
ability.
On further investigation it seems there is no need for any of the objects
to be set TRUST. The code works fine if they are all granted see_all @power.
Original issue reported on code.google.com by [email protected]
on 21 Nov 2009 at 5:33
What steps will reproduce the problem?
1. Any job with comments which total over 8000 characters will produce the
problem.
2. Once the job is over the 8k limit, the output from a +myjob is cut off.
Original issue reported on code.google.com by [email protected]
on 6 Sep 2006 at 11:38
&CMD_JOB/MERGE Job Global Object <JGO> includes an instruction to set
&BUCKET %q1=GOING which is no longer needed in version 5+.
&CMD_JOB/SUMSET Job Global Object <JGO> has a stray [setq(5,0)] which is
not used anywhere.
Original issue reported on code.google.com by [email protected]
on 23 Nov 2009 at 2:59
What steps will reproduce the problem?
1. Install Anomaly Jobs with the default settings
2. Have mortal players log in
What is the expected output?
Nothing for players with no access.
What do you see instead?
Permission denied.
What version of the product are you using? On what operating system?
5.1 on MUX 2.7
Please provide any additional information below.
The default @Aconnect for the Jobs Global Object is:
@fo %#={+jobs/new}
This forces all players to execute the command when, in fact, it ought only
be players with access. A better command would be:
@Aconnect Job Global Object <JGO>=@switch [u(#4161/HAS_ACCESS,%#)]=1,{@fo
%#=+jobs/new},{@@}
or if their server supports:
@Aconnect Job Global Object <JGO>=@assert [u(#4161/HAS_ACCESS,%#)];@fo
%#=+jobs/new
Original issue reported on code.google.com by [email protected]
on 12 Nov 2009 at 2:33
+myjob/add is missing a get() in the not-locked and tagged-for check. Also
unbalanced brackets.
Original issue reported on code.google.com by [email protected]
on 7 Sep 2006 at 9:10
On a couple projects I've had, it's been useful to be able to assign a job
to a pre-defined group of people. On one level this may seem to reproduce
the use of buckets, but its actually a bit more of a fine grained thing.
For example, we have an ALL group (as opposed to unassigned), to indicate
everyone should look at it. Also an APPLICATIONS group that contains
staffers who handle apps. Another one is like, EXECSTAFF.
The key here is that if you're in one of these groups, these jobs show up
on your +jobs/mine.
The APPLICATIONS one is totally redundant to the APPS bucket, but the
others aren't; EXECSTAFF may collectively be needed to check over something
if its in any number of buckets, and ALL is a special notice that
/everyone/ should comment.
We could create an ALL bucket, but that ruins the ability to use buckets to
separate -types- of jobs, which is a different thing then assigning to
named groups.
How I've implemented this on one project is to @pcreate these users so that
there's a minimum of changes necessary to Jobs itself.
These players are given Job access (HAS_ACCESS allows anyone with
_JOBACCESS = 1), and have a _GROUP_MEMBER ufun that returns 1 if %# is a
member of the group or 0 if not.
I could submit the feature if its thought to be useful in general. There's
various other possible implementations if the player one wasn't desired;
the ufuns can just be stored on %va. 'IN_(group)' or some such. That's a
bit less hacky, really. :) Still!
Original issue reported on code.google.com by [email protected]
on 22 Oct 2007 at 10:22
Provide a trigger for games to use to reset the SOURCE on jobs. If the
source list contains 1 PC dbref and that PC is nuked, then the SOURCE
should point to the +jobs owner. If the SOURCE is >1 PC, then just remove
the nuked PC.
Original issue reported on code.google.com by [email protected]
on 2 Oct 2006 at 8:01
Some buckets on my game are boring; there's nothing interesting about them.
Some are interesting-- they have a SUMMARY, and you can set details on
them, but that's really optional for the most part. Some though, are
magical; they need to be created with a certain command, live out their
life in that bucket, and be closed in that bucket-- because various
automated tasks happen at that point.
One example of interesting is the XP bucket; another is APPS. There's more,
too.
But I run into two problems:
#1) There is no way that I can see to set per-bucket CREATE (... and
others) permissions
#2) There is no permission to TRANSFER FROM or TRANSFER TO -- I very much
need this.
On +job/create, %va/CREATE_ACCESS checks just if the player is allowed to
use that command. %va/FN_ACCESSCHECK determines if the player has access to
that bucket.
At no point is it possible to determine if the player is allowed to use
that command on the bucket.
Any objections to such a capability? I think the proper way to do it would
be to change [u(%va/CREATE_ACCESS,%#)] to
[u(parent(%q0)/CREATE_ACCESS,%#)], with CREATE_ACCESS being moved to top
level Job Parent Object.
Then I'd just have a TRANS_TO_ACCESS and TRANS_FROM_ACCESS in the /trans
command in the same way.
Original issue reported on code.google.com by [email protected]
on 26 Oct 2007 at 11:19
Running on Pennmush 1.8.3 patchlevel 6 - Anomaly version 5.1 09Jan2007
The softcode to check for Myrddin's BBS is broken.
Instead of this:
@switch [setq(0,search(object=bbpocket))][isdbref(%q0)]=0,{@pemit
%#=[ansi(hc,ANOMALY
JOBS:)] Couldn't find Myrddin's BBS. Installation is not complete.},{@p
I think you want this:
@switch [setq(0,lsearch(all,name,bbpocket))][isdbref(%q0)]=0,{@pemit
%#=[ansi(hc,ANOMALY
JOBS:)] Couldn't find Myrddin's BBS. Installation is not complete.},{@p
Original issue reported on code.google.com by [email protected]
on 22 Jan 2008 at 12:59
The +bucket/delete checks to see if a bucket is empty before allowing it to be
deleted.
It uses the code: [eq(words(children(%q0)),0)]
This fails on Rhost as 'children(%q0)' returns #-1 if there are no children,
instead of blankness.
I think using '[t(children(%q0))]' would be sufficient; #-1 and blank would be
false, any db list would
be true.
Just checking with you guys first before I commit it as I don't have time to do
any serious testing up
on MUX/TM3 for.. awhile now. WOrk is buuusy. But I can commit it if you think
it's fine (it really
seems to be)
Original issue reported on code.google.com by [email protected]
on 29 Dec 2007 at 9:20
&CMD_JOB/CLONE Job Global Object <JGO>=$+job/clone *:@switch
[u(%va/HAS_ACCESS,%#)][setq(0,locate(%va,Job
%0,i))][u(%va/FN_ACCESSCHECK,parent(%q0),%#)]= ...
should read
&CMD_JOB/CLONE Job Global Object <JGO>=$+job/clone *:@switch
[u(%va/HAS_ACCESS,%#)][setq(0,locate(%va,Job
%0,i))][isdbref(%q0)][u(%va/FN_ACCESSCHECK,parent(%q0),%#)]= ...
Original issue reported on code.google.com by [email protected]
on 23 Nov 2009 at 12:12
The JGO/ACONNECT should do the following:
@switch [u(%vb/HAS_ACCESS,%#)]=1,{+jobs/new},{+myjobs}
This will prevent 'Permission denied.' errors from occuring for those
without +jobs access.
Original issue reported on code.google.com by [email protected]
on 5 Sep 2007 at 3:02
A Myjob Header. This is just like the normal headers, except players can
see these (they will not be able to see the normal headers). Players
should be able to use +myjob/sumset on these, just like +job/sumset.
This would allow for buckets like an 'EVENTS' bucket. All the Event
information would be stored in the Myjobs header, and the player could set
their participation in the event with +myjob/sumset.
Any thoughts?
Original issue reported on code.google.com by [email protected]
on 26 Oct 2007 at 2:58
Provide a trigger for games to use with their nuker. This would clear nuked
PCs from any tags lists.
This is a bug, as the possibility exists for a PC to be nuked, then a new
PC created with the same dbref to now have access through the tags to that job.
Original issue reported on code.google.com by [email protected]
on 2 Oct 2006 at 7:56
+jobs/credits includes the statement "The most recent version of this code
can be found at Anomaly's web page: http://anomaly.mushpark.com". This is
not correct, the most recent version can be found at
http://anomalyjobs.googlecode.com/svn/trunk/, based on the @@trigger
revision. The mushpark.com has @@trigger, the googlecode.com one does not.
Original issue reported on code.google.com by [email protected]
on 16 Oct 2006 at 5:11
Okay, PUB-- or other public buckets.... +myjob/add does this check:
[and(u(%va/IS_PUBLIC,%q0),match(get(%q0/opened_by),%#))]
This doesn't make sense to me. If its opened by you you should be able to add
to it-- the point of it
being public is it shows up in everyone's +myjobs. So shouldn't it be:
[or(u(%va/IS_PUBLIC,%q0),match(get(%q0/opened_by),%#))]
?
Original issue reported on code.google.com by [email protected]
on 30 Dec 2007 at 9:54
&WHITEBG_SKIN One Object=1
&WHITEBG_JOBLIST One
Object=[setq(0,secure(ifelse(hasattrp(%1,JOBS),lcstr(mid(get(%1/JOBS),0,20)),ge
t(%va/JOBS_DEFAULT))))][setq(1,ifelse(get(%0/DUE_ON),ifelse(gt(secs(),get(%0/DU
E_ON)),r,switch(get(%0/PRIORITY),1,g,2,y,3,r,g)),switch(get(%0/PRIORITY),1,g,2,
y,3,r)))][ifelse(u(%va/FN_ISNEW,%0,%1),[ansi(hr,*)]%b,%b%b)][ansi(%q1,[rjust([l
ast(name(%0))],5)]%b[iter(lnum(strlen(%q0)),[u(%va/DISPLAY_[mid(%q0,##,1)],%0,%
1)])])]
&WHITEBG_FOOTER One Object=[ansi(x,switch(%0,,repeat(=,79),center(|
[stripansi(%0)] |,79,=)))]
&WHITEBG_JOBSHEADER One Object=localize([u(FN_HEADER,Anomaly Jobs
[u(VERSION)])]%r[setq(1,[secure(switch(hasattrp(%0,JOBS),1,lcstr(mid(get(%0/JOB
S),0,20)),u(JOBS_DEFAULT)))])][ansi(c,*%b%b[ljust(Job#,5)][iter(lnum(strlen(%q1
)),u(HEADER_[mid(%q1,##,1)]))])]%r[u(FN_BREAK)])
&WHITEBG_HEADER One Object=[ansi(x,switch(%0,,[repeat(=,79)],[center(|
[stripansi(%0)] |,79,=)]))]
&WHITEBG_READ One
Object=[repeat(-,79)]%r[ifelse(u(%va/EDIT_ACCESS,%#),[ansi(x,%[)][ifelse(and(or
(u(%va/IS_PUBLISHED,%1),switch(extract(get(%1/%0),3,1,|),u(%1/OPENED_BY),1,0),h
asflag(%1/%0,no_inherit)),u(%va/IS_PUBLIC,%1)),ansi(c,[rest(%0,_)]+),ansi(c,[re
st(%0,_)]-))][ansi(x,%])]%b,)][ansi(x,[extract(get(%1/%0),4,1,|)] added on
[convsecs(extract(get(%1/%0),2,1,|))]:%b
)][edit(last(get(%1/%0),|),@@PIPE@@,|)]
&WHITEBG_BUCKETHEADER One Object=[u(FN_HEADER,Bucket
List)]%r[ifelse(u(%va/FN_WIZONLY,%#),[ansi(c,[ljust(Name,9)][ljust(Flags,6)]%b%
b[ljust(Description,30)][rjust(#Jobs,5)][rjust(Pct,5)][space(3)]C%b%bA%b%bD%b%b
Due[space(3)]ARTS)],[ansi(c,[ljust(NAME,8)][ljust(Description,50)]%b[rjust(View
ing,20)])])]%r[u(FN_BREAK)]
&WHITEBG_STAFFSUM One
Object=[localize(%r[repeat(-,79)]%r[rjust(ansi(c,DB#:),10)]
%0[space(10)][rjust(ansi(c,Comments:),10)]
[setr(z,words(lattr(%0/COMMENT_*)))]%r%r[rjust(ansi(c,Players:),10)] %(Players
contributing to this
job%)%r[setq(y,setunion(iter(lattr(%0/COMMENT_*),extract(get(%0/##),4,1,|),%b,|
),,|))][columns(%qy,20,|,11)][ifelse(hasattr(%0,LIST_READERS),%r[rjust(ansi(c,R
eaders:),10)] %(Players who have read this job in the
past%)%r[setq(z,iter(get(%0/LIST_READERS),first(##,|)))][columns(map(%va/MAP_NA
ME,%qz,%b,|),20,|,11)],)][ifelse(hasattr(%0,TAGGED_FOR),%r[rjust(ansi(c,Tags:),
10)] %(Players this job has been tagged
for%)%r[columns(map(%va/MAP_NAME,get(%0/TAGGED_FOR),%b,|),20,|,11)],)]%r[rjust(
ansi(c,Stats:),10)]%r[columns(iter(ifelse(hasattr(%0,LIST_STATS),sort(get(%0/LI
ST_STATS)),),[first(##,|)] [last(##,|)],%b,|),20,|,11)]%r)]
&WHITEBG_BANNER One
Object=[setq(0,%0)][setq(x,itemize(map(MAP_NAME,get(%q0/OPENED_BY),%b,|),|))][l
just([rjust(ansi(c,Bucket:),10)]
[u(%va/FN_BUCKETNAME,%q0)],40)][rjust(ansi(c,Due On:),12)]
[ifelse(get(%q0/DUE_ON),ifelse(gt(secs(),get(%q0/DUE_ON)),OVERDUE!,convsecs(get
(%q0/DUE_ON))),-)]%r[ljust([rjust(ansi(c,Title:),10)]
[get(%q0/TITLE)],40)][rjust(ansi(c,Status:),12)]
[switch(get(%q0/PRIORITY),1,Green,2,Yellow,3,Red)]
%([switch(get(%q0/STATUS),0,On
Hold,1,New,2,Underway,3,25%%,4,50%%,5,75%%,6,100%%,?)]%)%r[ljust([rjust(ansi(c,
Opened On:),10)] [convsecs(get(%q0/OPENED_ON))],40)][rjust(ansi(c,Assigned
To:),12)]
[ifelse(isdbref(get(%q0/ASSIGNED_TO)),name(get(%q0/ASSIGNED_TO)),Nobody)]%r[rju
st(ansi(c,Opened By:),10)] %qx
Original issue reported on code.google.com by [email protected]
on 29 Oct 2007 at 4:29
The commands for job approve/deny/complete all execute the following two
commands:
@trigger %va/TRIG_ADD=%q0,[strtrunc(%1,get(%va/BUFFER))],%#,APR;
@wait 1={@parent %q0;@nuke %q0}
The TRIG_ADD subsequently checks for an attribute on the job object's
parent in order to send mail / post to BB. Furthermore, the mail/bb posts
call another trigger which tries to access the parent object.
On Pennmush 1.8.3p10 (potentially others) the wait command ends up removing
the parent before the various check. This can be worked around by
increasing the @wait to at least 5. @Waits of 3 and shorter failed.
Original issue reported on code.google.com by [email protected]
on 5 Nov 2009 at 3:48
Possible addition of a +job/checkout command. Like CVS or svn, it would
lock the job until the person doing the the checkout has completed his or
her work on the Job. This would be taking +job/assign a giant step forward.
Original issue reported on code.google.com by [email protected]
on 2 Oct 2006 at 7:55
In order to make Jobs works with Rhost, and to achieve the longer term Penn
support Pie Charts need to be removed and replaced with bar graphs. I
talked with Ian and there's just no way to make his code work on Rhost and
Penn, meaning for pie charts we'd need to total rewrite and then maintain
two or three versions. Instead we'll go with good, old bargraphs.
Original issue reported on code.google.com by [email protected]
on 26 Oct 2007 at 2:26
+jhelp manage2 is mis-documented for the /set command. It lists old-style
instead of new-style entries.
Original issue reported on code.google.com by [email protected]
on 5 Sep 2007 at 3:00
Attachment is a port of 5.1 to PennMUSH. Installed and tested on 1.8.3p10.
The following changes were made:
The following specific changes have been made and/or need to be made
to work on PennMush:
1. Pennmush does not have a columns() function. The following is one
possible alternative that can be implemented as a softcode @function:
&FUN_COLUMNS <Global Function Object>=[align([ifelse(%3,dec(%3),0)]
[sub(78,ifelse(%3,dec(%3),0))],%B,[table(%0,%1,sub(78,ifelse(%3,dec(%3),0)),%2)]
)]
2. @lock/SpeechLock --> @lock/Speech
3. Removed the line @set Job 1=UNINSPECTED. This doesn't appear to be used
by the code, and may just be a @decompile artifact.
4. COMMANDS --> !NO_COMMAND and !COMMANDS --> NO_COMMAND
5. HALTED --> HALT
6. Z flag (Royalty) --> r flag
7. search(object=bbpocket) --> lsearch(all,name,bbpocket)
8. list(<list>, <eval>) --> iter(<list>, <eval>, %B, %R)
9. strtrunc --> left
10. The default @aconnect for JGO is @fo %#={+jobs/new}. This forces all
players, even those without +jobs access, to run the command and get an
error message. Replaced with:
@Aconnect Job Global Object <JGO>=@assert [u(%va/HAS_ACCESS,%#)];@fo
%#=+jobs/new
11. INHERIT on Penn (TRUST) does not grant objects wizard power. To
function properly:
- either set the Job Global Object to WIZARD or move both the @aconnect and
@adisconnect to a WIZARD-powered object.
- leave all other objects mortal but give them the see_all @power
12. In all code where jobs are listed with comments (e.g., +job/all) the
Pennmush lattr() returns an alphabetically sorted list, so 1, 10, 11, etc.
come before 2, 3, etc. so:
@dolist lattr(%q0/COMMENT_*) --> @dolist
[sortby(%va/SORTBY_COMMENT,lattr(%q0/COMMENT_*))]
and
&SORTBY_COMMENT Job Database
<JD>=[comp(after(%0,COMMENT_),after(%1,COMMENT_),N)]
13. Pennmush does not support fractional @wait times (@wait .1 or @wait .5).
In the job/approve, /comlete, /delete, and /deny commands, set the wait
time to @wait 5={@parent %q0;@nuke %q0}. Most other @waits changed to @wait 0.
14. Some issues still crept up with Penn's queue. These were eliminated by
rewriting most of the commands and triggers from @switch to the equivalent
logic using @assert and @break. Additionally, code of the form
@wait me={<code>};@notify me was replaced with @wait 0={<code>}
15. Job Tracker @mail code switched to Pennmush format.
&TRIG_MAIL Job Tracker <JT>=@mail [remove(%0,owner(me))]=%1/%2
16. Removed the @restart wait. Did not replace it with a @shutdown/reboot
17. At the end of the script, the &JOBSH me=, &JOBSB me=, etc. commands
currently create empty attributes. They have been removed.
18. Changed @daily to &daily. This will need to be added to a CRON object.
19. NOT CHANGED: Pennmush does not support @log to arbitrary files.
Users may choose to edit the Job Database's TRIG_LOG to lot to one of the
predesignated Penn logfiles, hack hardcode to create a new file or @log
functionality, or wait for arbitrary log functionality in a future
version of Pennmush.
Original issue reported on code.google.com by [email protected]
on 7 Dec 2009 at 8:29
Attachments:
&CMD_JOB/DUE2 Job Global Object <JGO>=$+job/due *=*/*/*:@switch
[u(%va/HAS_ACCESS,%#)][setq(0,locate(%va,Job %0,i))][setq(1,convtime ....
should read
&CMD_JOB/DUE2 Job Global Object <JGO>=$+job/due *=*/*/*:@switch
[u(%va/HAS_ACCESS,%#)][setq(0,locate(%va,Job
%0,i))][isdbref(%q0)][setq(1,convtime ....
Original issue reported on code.google.com by [email protected]
on 23 Nov 2009 at 12:53
Running on Pennmush 1.8.3 patchlevel 6
Pennmush does not support the column function. The following anomaly attributes
reference
columns:
@Desc Job Global Object <JGO>
@Desc Job Database <JD>
@Desc Job Parent Object <JPO>
@Desc Job Database <JD>
&DISPLAY_BUCKET Job Database <JD>
&DISPLAY_BUCKET2 Job Database <JD>
&REPORT_CODES Job Database <JD>
&DEFAULT_STAFFSUM Job Database <JD>
@Desc Job Tracker
@Desc Job Global Object <JGO>
@Desc Job Database <JD>
@Desc Job Parent Object <JPO>
@Desc Job Database <JD>
The closest function in pennmush is align() and perhaps table()
Thank you!
Original issue reported on code.google.com by [email protected]
on 22 Jan 2008 at 12:19
Running on Pennmush 1.8.3 patchlevel 6 - Anomaly version 5.1 09Jan2007
Pennmush does not support the @lock/SpeechLock lock. I'm not sure what else we
could use here
:-) maybe @lock/say ?
Original issue reported on code.google.com by [email protected]
on 22 Jan 2008 at 12:29
Improve the checks in the commands to make sure the right Job exists. For
example, if someone does '+job/add 9=some text' and job 9 doesn't exist,
but Job 9X does, then the comments are added to the wrong job.
Use something like
[setq(0,locate(#1758,Job %0,i))][and(isdbref(%q0),match(Job %0,name(%q0)))]
There might be a more elegant way to do this, but something like that will
ensure the right job is selected every time.
Original issue reported on code.google.com by [email protected]
on 6 Feb 2007 at 9:27
In the quick reference +jhelp commands2 file +job/set still refers to the
old style 0 to 6 status markers.
Original issue reported on code.google.com by [email protected]
on 23 Oct 2006 at 3:30
What steps will reproduce the problem?
1. Import the full version of jobs 5.0, you will see the Pub object
teleported, then a "I don't see that here" error.
2.
3.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Simple fix. The source doc needs to be changed so that @set pub=safe is
done BEFORE the pub object is @tel'ed away.
Original issue reported on code.google.com by [email protected]
on 12 Oct 2006 at 6:14
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.