Developer Q & A
Articles and Tips: article
01 Jan 1998
Developer Q & A
Q.What is the .novell.devsup.nwsdk.supported.transport newsgroup?
A. This newsgroup is for developers writing to the Novell APIs that deal with specific protocols such as TCP/IP and IPX/SPX on both client workstations and IntraNetware servers.
Q. Which set of APIs should I use for client applications that require transport?
Q. Which set of APIs should I use for IntraNetware server applications that require transport?
A. TLI (IPX/SPX, TCP/IP).
Q. Where can I find the NetWare SNMP SDK?
A. The NetWare SNMP SDK has been moved to the NWSDK area. The examples are in NWSDK\EXAMPLES\NLM\SNMP . The import functions are contained in NWSDK\IMPORTS\AGENT.IMP . The header files are NWSDK\INCLUDE\NLM\AGENT.H, SA_GENER.H and SA_ASN1.H . The documentation is in Dynatext, in the NWSDK Collection, Management book, NWSNMP chapter.
Q. Does Novell provide an SDK to develop to TCP/IP on DOS?
A. No. Novell no longer supports the LAN Workplace Toolkit SDK.
Q. Does Novell support Winsock 2?
A. Currently Novell has NDS and SAP engines for Winsock 2 in beta form available on http://developer.novell.com/support/sample.htm as a Technical Information Document (TID).
Q. Where can I go to find the latest protocol stack patches for my NetWare server?
A. You can get the latest protocol patches from the Novell Technical Support web page at http://support.novell.com in the minimum updates list area.
Q. Where do I look for more technical information for developing transport applications?
A. Novell developer support regularly writes common answers, solutions, sample code etc., to Technical Information Documents (TIDs). This information is available at http://developer.novell.com/support. Select the "Sample Code & Issues" link to search the database.
Q. Can I automatically receive new Technical Information Documents?
A. Yes, you can subscribe to a mailing list to receive automatic notification of New TIDs at http://developer.novell.com/support/lslist.htm. Web site: http://developer.novell.com/support/faqsdk.htm.
Q. What is CDWare?
A. CDWare consists of a scripting interface and a set of APIs, either of which can be used to facilitate a product installation on NetWare 4.x platforms. Prior releases of NetWare (3.x) utilized PINSTALL to create installations of third-party products.
CDWare is distributed on Novell's Software Development Kit (SDK); during installation of the SDK, you can select to install CDWare--it gets placed in the FUTURES directory under SDKCDX, where "X" represents the version number of the SDK.
After installing CDWare from the SDK, you will see that there are two subdirectories, DOCS and INSTALL. Under DOCS there are three Envoy-based executables--you simply invoke the executable file name, and Envoy is invoked to display the document.
The three Envoy docs are CDINTRO.EXE, CDSCRIPT.EXE and LICINSTL.EXE. CDINTRO, as the name implies, introduces CDWare and the major concepts associated with the product. There are a couple of points to keep in mind as you read CDINTRO. First, the API portion is used most often to facilitate actual installations of NetWare 4.x; whereas the scripting side of CDWare is most often employed for installing third-party products. Also, the support channel information in the document is out of date: all support queries concerning CDWare should be sent to this newsgroup.
This faq does not address the API portion of CDWare or the associated licensing interface--third-party vendors who require this functionality work directly with Novell engineers on a cost basis. Additionally, most install issues, particularly installation of a 3rd party product, can be handled via scripting.
CDSCRIPT is the second document shipped with CDWare, and details the scripting interface. As you are reading the CDSCRIPT doc, keep in mind how the script you create will be accessed: typically the end user will be running INSTALL.NLM. Through the menus he/she will select "Product options" followed by F3, followed by "Install a product not listed." At this point a screen is displayed indicating that by default the product will be installed from A:\. The user can specify a different directory for the install, if appropriate.
INSTALL.NLM will go out to the selected directory and execute the first file containing the extension ".IPS" that it finds--this is the script file which you create. CDSCRIPT also mentions command line parameters which can be used in conjunction with script files - however this interface into scripting is rarely used, and will not be discussed here.
The third document, LICINSTL, deals with licensing issues, and is not be discussed here.
Q. How can I stay current with CDWare scripts?
A. The best way to come up to speed on creating CDWare scripts is by studying and experimenting with sample install scripts. Novell Technical Support provides a patch for IntraNetWare customers that utilizes three IPS scripts which demonstrate various script operations. Go to http://support.novell.com/search and enter the string "IWSP3." You can then elect to download this patch (note that the patch is approximately 10 MB). Probably the most illustrative script is 411SPACK.IPS, which is located under the IWSP3 directory.
Note that the patch utilizes an updated version of ICMD.NLM--the new version is named "PI_ICMD.NLM" and contains several enhancements relating to CDWare. Although PI_ICMD.NLM had not officially been released by Novell, you should probably go ahead and utilize this NLM anyway, since it fixes several problems and will be officially released soon.
The 411SPACK.IPS script also demonstrates how to add/remove a product from the list of installed products. Note that the actual data file which gets manipulated is PRODUCTS.DAT. Web site: http://developer.novell.com/support/cdwfaq.htm.
Novell GroupWise SDK
Q. What is the GroupWise SDK?
A. The Novell GroupWise Software Developer's Kit (SDK) is a collection of documentation, sample programs, and other support files designed to allow you to develop custom applications with GroupWise. The SDK can benefit third-party developers interested in developing and selling custom GroupWise-based solutions, in-house developers looking to customize GroupWise for their organization's needs, and even end users wanting to use GroupWise in a unique way. The GroupWise SDK is released quarterly.
Q. How much does it cost?
A. The SDK is free to electronic subscribers of DeveloperNet. The no-cost electronic subscription allows you to view SDK documentation on the Web, download the entire SDK (in addition to any other Novell SDKs), and view the DevNotes bulletin online. To subscribe to DeveloperNet, please go to the DeveloperNet Registration site.
Q. What kinds of things can I do with the SDK?
A. Using the SDK, you can customize and extend GroupWise in many ways, such as:
Project Management functionality
Personal Digital Assistant (PDA) support
For information on ways that many other companies are using the SDK to extend and customize GroupWise, go to the Partners page.
Q. How much programming expertise is necessary to effectively use the SDK?
A. You must be proficient in one of the development tools the GroupWise SDK supports, and you also must have at least intermediate-level knowledge of object-oriented programming techniques. This level of proficiency is assumed in the documentation.
Q. I have an earlier version of GroupWise. Can I still utilize the SDK?
A. Absolutely! The GroupWise SDK contains a wealth of documentation and sample applications designed specifically for the GroupWise 4.1 environment. Some of the technologies in the SDK with support for GroupWise 4.1 are:
Q. What development environments does the GroupWise SDK support?
A. The GroupWise SDK has support (documentation and samples) for many development environments, including:
Borland Delphi 2.0 and above
Microsoft Visual Basic 4.0 and above
Q. What technologies does the GroupWise SDK take advantage of?
A. The GroupWise SDK implements today's most exciting and innovating technologies, including:
In addition, the GroupWise SDK continues support for many established standards, such as MAPI and DDE.
Q. What if I need help?
A. There is a wealth of SDK support information on the Novell DeveloperNet home page. If you require assistance beyond this, consider signing up for DeveloperNet at the Base or Advanced level. For information on the pricing and benefits of these programs, please see the DeveloperNet overview. Web site: http://developer.novell.com/support/gwsdkfaq.htm.
Software & Peripheral Support
Q. How do I join the certification program?
Select the level of participation (NCA or SPT)
Notify Novell Labs of your intent to certify
Sign the contracts and associated forms and send in to Novell Labs Administration
Note: Modifying the contracts in any way will result in long delays.
Q. How do I expedite testing?
Make sure you have the latest tick sheets, criteria, instructions, and tools
Make sure you have the latest patches and/or support pack from Novell loaded on the test server(s)
Pretest your product completely
Explain all proposed exceptions to the criteria in detail
Send in debug and non-debug versions of each NLM in your product
Q. What are some things that I should check early in the certification process that might cause delays later on if I don't?
A. Make sure to register any unique resources such as the following:
Application-specific Bindery Objects
Static IPX/SPX Sockets
SAP (Service Advertising Protocol) IDs
Directory Services Schema Extensions
Directory Service Attribute Name
Directory Service Class Name
NCP Extension Name
Static NCP Extension IDs
Q. Why do PCL reports not combine correctly?
You may be using an old version of PCL; use version 4.02 or later to combine reports properly
You may be trying to combine reports that were made with different versions of an NLM
Q. Why does MAL ABEND my server?
A. When MAL is loaded, and then your NLM is loaded on the server, MAL will intercept all memory allocation calls made to the system and return a NULL (simulating a no-memory condition.) If your application does not check to make sure the memory address is valid before reading from or writing to it, this will result in a server ABEND. The solution is to make sure you always check the memory that you are trying to allocate before using it.
Q. I put a thread switch directly before and after certain APIs, and still have a high time slice reported in my SENTRY report. Why?
A. Occasionally a NetWare API will exceed the maximum allowable time slice as reported by SENTRY, such as when doing direct hardware access (e.g., writing to a floppy drive or DOS partition, etc.). If you can demonstrate that a high time slice is a result of a Novell API, it can be evaluated and possibly allowed as an authorized exception. Web site: http://developer.novell.com/devres/ss/faq.htm.
Novell Developer Support Newsgroups
NewsGroup Notice The novell.devsup.* newsgroups are for technical discussions. Novell reserves the right to relocate or remove flames, personal comments, and other off-topic articles at the moderator's discretion.
If you have any questions or comments about these newsgroups please send them by email to email@example.com.
Q. What is the difference between supported and non-supported newsgroups?
A. There are two types of newsgroups on our news server, devsup.netpub.com. There are peer groups where you can communicate with other developers on subjects of mutual interest--for instance older or emerging Novell products, and the supported newsgroups that are monitored daily by Novell Engineers.
Peer group sections are named novell.devsup... Novell Engineers might occasionally reply to a posting there, but their primary job is to monitor the groups under this tree section: novell.devsup.supported...
As we are certain you are aware, there is a great deal of value to be gained by posting both questions and answers to all groups, whether supported or unsupported. Web site: http://developer.novell.com/support/newsfaqs.htm.
Q. I have an account at an ISP (e.g., firstname.lastname@example.org). This is the account that my kids use at home. I have CyberPatrol or NetNanny, etc., loaded on my PC to stop the kids from looking at "non-kid friendly" sites. But my kids are smart enough to turn the censor software off. Or the kids go next door, or to school, and sign on from a computer that does not run censor software, and see the unwanted sites.
This situation arises because the management is applied either by address or by machine, but not by user.
A. When I sign up for an account at the ISP, I pay an extra $2 a month to have the ISP filter out certain classes of sites. They do this with BorderManager, managing access by user, not address or machine. The ISP simply gives the subscribers an option to have the sites filtered at the back end. The ISP offers this as a "best efforts" service, so this gets around the legal issues if ever there is a site that shouldn't be seen but didn't make the censor list.
ISP makes tons of incremental revenue with minimal additional infrastructure ($2/month x 250,000 subscribers = more than enough to pay for the back end).
ISP offers more value-add to the customers (ISP.COM offers this great service, OTHERISP.COM does not).
Q. An organization/institution gets access to the Internet via a certain ISP. The organization wants to restrict the users from accessing "non-productive" sites, or perhaps may want to specify exactly which sites they can see. For example, nobody at XYZ Co. can see www.uglydogs.com,and the people in the accounting department can only see www.weareboring.com and www.beancounters.com.But how?
A. The ISP plugs in BorderManager, restricts access via NDS, the company pays the ISP $500/month, or whatever the market will bear. The filtering service takes place at the back end, at the ISP, and the subscribing organization simply pays a fee to offload the headache of managing the World Wide Waste/World Wide Worry.
ISP makes tons of incremental revenue with minimal additional infrastructure.
ISP offers more value-add to the customers.
Subscribing organization now has the ability to easily restrict the sites that the employees can view.
Subscribing organization completely offloads the worry about restricting rights to non-productive sites.
Q. I have a Web site, www.buystuffhere.com,that I want to run very fast. Unfortunately I cannot afford to keep throwing tons and tons of horsepower at the problem. I need a way to make my Web site appear faster to my customers.
A. I pay various ISPs $250/month to cache the top three levels of my Web site in the hot cache of the BorderManager servers at their various points of presence. That way, when a subscriber hits www.buystuffhere.com through their ISP, BANG! it's on their screen.
ISP makes tons of incremental revenue with minimal additional infrastructure.
ISP offers more value-add to the customers.
I reduce my hardware costs.
It is tremendously easy for me to scale my Web site, just have it cached at more ISP sites.
My site is much faster, and therefore, more likely to have people come back to my site.
BorderManager Web site: http://www.novell.com/products/bordermanager/ --submitted by Jeff Vogan
* Originally published in Novell AppNotes
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.