ReadMe145

             Uppdatering från NiKom 1.40 till NiKom 1.45
             -------------------------------------------

OS 2.0
------
NiKom 1.45 kräver att minst OS 2.04 används. Om en tidigare version av
OS:et används kommer NiKom inte att starta.

======================================================================

Konvertering
------------
Ett antal av NiKoms datafiler har ändrats. För att kunna köra 1.45 så
måste det därför konverteras. Det mesta görs med ett program som följer
med, Conv145.

OBS!! Det krävs en del plats på hårddisken för att kunna konvertera. Ju
fler användare man har, ju mer plats krävs det.

Conv145 delar upp Users.dat i användardirectoryn med datafiler i. I dessa
directoryn ska nu användarnas lappar och profiles kopieras upp. Två
ARexx-program för att göra detta medföljer.

Sist är några konfigurationsfiler ändrade. Modem.cfg är omdöpt till
SerNode.cfg och har fått följande nya fält som läggs till på slutet. (Jag
saxar från min egen SerNode.cfg)

SCREEN=NiKom
YPOS=17
XPOS=0
YSIZE=240
XSIZE=724

SCREEN talar om vilken Public Screen som fönstret ska öppnas på. Anger
man bara '-' så används default public screen.

YPOS och XPOS talar om på vilka koordinater fönstret ska öppnas och
YSIZE, XSIZE talar om storleken. Skulle inte fönstret få plats på
skärmen så justeras placering och storlek.

Även NiKomCon har nu en config-fil som heter ConNode.cfg. I den finns de
fält som är nya för SerNode.cfg, dvs de som listats ovan.

I Datocfg/System.cfg ska följande rader läggas till.

SCREEN=NiKom
YPOS=50
XPOS=50

Fälten är likadana som för SerNode.cfg och gäller Serverns fönster.

ARexx-programmet ExtKom15.nik ska kopieras till NiKom:Rexx/. Detta program
anropas varje gång en användare raderas.

======================================================================

Nyckelfiler
-----------
Till NiKom 1.45 krävs det en s.k. nyckelfil. Utan denna kan programmet
bara hantera maximalt 5 användare. En nyckelfil får alla registrerade
användare och i den finns information om vem som äger NiKom-kopian.

Filen heter NiKom.key och ska placeras i NiKom:

Försök INTE att köra NiKom utan nyckelfil om fler än 5 användare finns
registrerade.

======================================================================

Skärmar
-------
NiKServer öppnar alltså ingen egen skärm numera utan systemet förlitar
sig helt på s.k. Public Screens som är en finess i OS 2.0. För att öppna
en speciell NiKom-skärm som förut så använder man ett program som öppnar
skärmar. Ett sådant program följer med i det här arkivet. (ScreenManager)

=======================================================================

Kommandon
---------
Två nya kommandon har tillkommit, Flytta Gren och Lista Brev. Följande
definitioner ska läggas in på lämpligt ställe i Kommandon.cfg.

N=LISTA BREV
S=1
O=2
#=116

N=FLYTTA GREN
S=99
O=2
#=234
A=.

Manual-filer för kommandona medföljer arkivet.

I Kommandon.cfg har dessutom ett nytt fält tillkommit, det är dock inte
nödvändigt att använda det. Fältet heter "V" och står för Visible. Om
detta sätts till N, dvs:
  V=N
så kommer inte kommandoparsern (rutinen som listar ut vilket kommando
användaren har gett) att bry sig om kommandot om inte användaren har rätt
att utföra det.

Ett litet exempel:
Nisse har ett sysop-kommando som heter 'Slasktratt', som det krävs
status 100 för att få utföra. I 1.40 så hade alla användare fått upp
  FLERTYDIGT KOMMANDO
  SLUTA
  SLASKTRATT
om de skrivit 'sl'. (Personligen skriver jag 'sl' för att logga ut).
Sätts nu V=N så kan alla vanliga användare skriva 'sl' för att logga ut.
Nisse får dock fortfarande upp båda kommandona, han kan ju utföra båda.

=======================================================================

Brevlådan
---------
Brevlådan är helt omgjord. Varje brev ligger som en enskild fil i
användarens directory. I och med detta ligger det på användarens eget
ansvar att rensa i sin brevlåda. Kommandot 'Rensa Brev' ska därför göras
allmänt tillgänglig. Kommandot rensar inte längre allas brevlådor utan
bara användarens egen.

För närvarande finns det ingen färdig rutin för att rensa i allas
brevlådor.

En bieffekt av att brevlådan är omändrad är att alla får sina brev olästa
första gången de loggar in efter uppgraderingen.

=======================================================================

Arexx-interfacet
----------------
I kommandointerfacet har 4 nya kommandon tillkommit:

logout

Sätter en flagga så att nästa gång användaren ska få upp en
kommandoprompt så loggas han ut istället.

-----------------------------------------------------------------------

runfifo 

Detta kommando kör igång ett vanligt Shell-program som använder standard
in och utmatning (dvs vanligtvis bara använder Shell-fönstret) genom
NiKom. Det finns redan nu ett gäng online-spel som kan köras på detta
vis.
Kravet för att de ska fungera med NiKom är de slutar när de får en
SIGBREAKF_CTRL_C (dvs, de går att avsluta med Ctrl-C). Helst ska de känna
av en EOF också och avsluta då.
För att kunna köra ett program på detta sätt krävs att Fifo av Matt
Dillon är installerat. Fifo följer med detta arkiv.

-----------------------------------------------------------------------

entermeet 

Detta kommando gör att användaren hoppar till det angivna mötet, om det
finns. Finns huvudsakligen för att kunna hoppa till ARexx-styrda möten,
men fungerar med alla möten.
OBS!! Pga av NiKoms interna uppläggning så måste detta kommando köras
som SISTA NiKom-kommando i ARexx-programmet. Inget kommer att hända
förrän programmet har avslutat.

-----------------------------------------------------------------------

setlinecount ON | OFF

Argumentet OFF stänger av de  som kommer upp efter ett visst
antal rader. ON sätter på de igen.
När ARexx-programmet avslutas sätts detta på igen automagiskt.

-----------------------------------------------------------------------

Som ni säkert har uppmärksammat så går inte en del kommandon att köra
genom nikcommand och niknrcommand, detta pga att det enda de gör är
att returnera vissa värden.
Dessa kommandon går nu att använda under samma villkor som entermeet,
dvs att de körs sist i ARexx-programmet.

De aktuella kommandona är:
Gå, Nästa Text, Nästa Kommentar, Nästa Möte, Sluta, Logout,
Offdown, Börja Om

-----------------------------------------------------------------------

Även i funktionshosten har några funktioner tillkommit:

CreateLetter(frånanvnr,ärende,textfil,mottagare[,mottagare[,mottagare[,..]]])

Skapar ett brev från den angivna textfilen i den angivna användarens
brevlåda. Pga begränsningar i ARexx kan man "bara" ange som mest 12
mottagare.

Felvärden:
1 - Inte tillräckligt med argument

Returvärden:
-1 - Avsändaren finns inte
-2 - Textfilen går inte att öppna
-3 - Någon av mottagarna finns inte
-4 - Kunde inte öka .nextletter med 1
-5 - Kunde inte öppna brevfilen
-6 - Fel vid skrivaned av brevet
-7 - Kunde inte få ett lock för det sparade brevet
-8 - Kunde inte göra en länk till det sparade brevet

-----------------------------------------------------------------------

MeetRight(anvnr,mötesnr)

Kollar om användaren har rättigheter i det angivna mötet och returnerar i
så fall 1. Om inte returneras 0.

Felvärden:
1 - Inte tillräckligt med argument

Returvärden:
-1 - Användaren finns inte
-2 - Fel vid läsandet av användaren
-3 - Mötet finns inte

-----------------------------------------------------------------------

MeetMember(anvnr,mötesnr)

Kollar om användaren är medlem i det angivna mötet och returnerar i
så fall 1. Om inte returneras 0.

Felvärden:
1 - Inte tillräckligt med argument

Returvärden:
-1 - Användaren finns inte
-2 - Fel vid läsandet av användaren
-3 - Mötet finns inte

=======================================================================

Mötena
------

Mötena allokeras numera dynamiskt och det maximala antalet är 2048. När
jag gjorde detta passade jag på att samtidigt lägga till några
mötesflaggor. (Dessa kommer man åt genom Ändra Möte/Skapa Möte).

Automatiskt medlemskap - Alla användare är medlemmar i mötet. Det går
                         inte att utträda ur det.

Skrivstyrt             - Alla har rätt att gå med i mötet och läsa i
                         det. (Det går inte att slänga ur folk ur det).
                         Det är dock bara de som har rättigheter i mötet
                         som kan skriva och kommentera i det.

ARexx-styrt            - I första hand gjort för ProComp-BBS. Detta möte
                         syns inte i möteslistan (förutom för sysop).
                         Det går inte att gå till och man kommer aldrig
                         dit genom promptarna. Enda sättet att gå hit är
                         att använde det nya ARexx-kommandot
                         'entermeet'.

=======================================================================

- Hastigheten vid en överföring syns både vid upload och download.
- Man kan ladda ner flera filer på en gång.
- FilIO-rutinerna i xpr-implementationen utbytta mot direkta dos-anrop.
- En siffra i prompten indikerar hur många minuter man har kvar om man
  har mindre än 5 minuter.
- En möteslapp kommer fram automagiskt när man blir medlem i ett möte.
- Ctrl-L i fullskärmseditorn.
- Man kan ha flera mottagare till ett brev. Kommandot Addera i
  fullskärmseditorn och !addera i radeditorn.
- Buggen som kunde skapa tomma filer i filarean förhoppningsvis fixad.
- En grupp ska synas direkt när den skapas.
- Skaparen av ett möte kan skriva/kommentera i kommentarsskyddade möten.
- En person som tappat carriern försvinner från 'vilka'-kommandot.
- Man kan använda AmigaDOS-patterns i sök-kommandot.

Lycka till!
/Niklas

niklas@nilin.se