Git Product home page Git Product logo

anomalyjobs's People

Watchers

 avatar  avatar

anomalyjobs's Issues

CMD_JOB/DUE2 Bug

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

PENNMUSH compatibility: lattr() sorting

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

  • Merged into: #49

+job/deny errors if no job number given

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

Blank emits cause a problem when +myjobs is used with nospoof.

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

Add +bucket/check


# +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

+myjob/create

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

Job Workflow and/or subordinate jobs

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

Enter one-line summary

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

Nuked PCs can't be removed from TPS/RP Summaries

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

Rhost Issues

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

SuggestionL Help in the Wiki Section

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

Older TM3 support

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

JOBS_NUM initialization skips job 2 on initial install

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

Track completion stats

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

POST_COMPLETE for REQ bucket (new installs)

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

PENNMUSH 1.8.3 p 4 No STRTRUNC() function.

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

  • Merged into: #49

PENNMUSH compatibility: INHERIT/TRUST vs. see_all

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

  • Merged into: #49

+myjob buffer limit

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

Unneeded code

&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

Default @aconnect in 5.1 package produces error for players with no access.

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

  • Merged into: #20

Assignment Groups

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

Sorting out Nuked PCs

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

Per-Bucket Create and Trans Permissions Update

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

PENNMUSH 183p6 bug:: [setq(0,search(object=bbpocket))][isdbref(%q0)] doesn't work

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

  • Merged into: #49

+bucket/delete on Rhost

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

  • Merged into: #27

Incorrect @switch options in +job/clone

&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

ACONNECT on JGO

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

+myjob header

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

Clear tags for nuked PCs.

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

Bad information in +jobs/credits

+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

+myjob/add on public buckets

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

New Skin

&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

Race condition with approve/deny/complete: PENNMUSH fail

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

  • Merged into: #49

+job/checkout

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

Pie Chart Compatibility

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

PennMUSH port of 5.1

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:

Incorrect @switch options in +job/due

&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

PENNMUSH 183p6 bug:: no column() function

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

  • Merged into: #49

PENNMUSH 183p6 bug:: no @lock/speechlock lock

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

  • Merged into: #49

Job Selection errors - locate()

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

Misplaced @set on pub object.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.