Non-standard interfaces must be server-side before de-serializing?
Classes which implement non-standard interfaces are a problem for de-serialization? In the below code SomeInterface is the problem. If the "SomeInterface.class" is not server-side when the de-serialization starts then the de-serialization can't happen? Please look at this test code:
client
public class Main {
public static void main(String[] args) {
try {
Socket sok = new Socket("192.168.2.2", 1638);
MyOOS moos = new MyOOS(sok.getOutputStream());
moos.writeObject(new ClassA(222));
try { Thread.sleep(3000); } catch(InterruptedException e) { }
sok.close();
} catch(Exception e) { e.printStackTrace() ; }
private static byte[] getClassImage() throws Exception {
InputStream in = new FileInputStream(new File("/dev/ClassA.class"));
List<Byte> objClassImage = new ArrayList<Byte>();
int b = in.read();
while(b != -1) {
objClassImage.add(Byte.valueOf((byte) b));
b = in.read();
byte[] classImage = new byte[objClassImage.size()];
for(int i = 0; i < classImage.length; i++) {
classImage[i] = ((Byte) objClassImage.get(i)).byteValue();
in.close();
return classImage;
static class MyOOS extends ObjectOutputStream {
MyOOS() throws Exception { super(); }
MyOOS(OutputStream out) throws Exception { super(out); }
protected void annotateClass(Class<?> cl) throws IOException {
try {
byte[] classImage = getClassImage();
writeInt(classImage.length);
write(classImage);
} catch(Exception e) { e.printStackTrace(); }
// public class ClassA implements Serializable, SomeInterface { // <-- bad
public class ClassA implements Serializable { // <-- good
int id;
ClassA(int i) { id = i; }
public void foo() {
System.out.println("ClassA::foo--> id = " + id);
public Interface SomeInterface { public void foo(); }
server
public class Hello {
static MyClassLoader myLoader = new MyClassLoader();
public static void main(String[] args) { new Hello().run(); }
void run() {
try {
ServerSocket servSok = new ServerSocket(1638);
Socket sok = servSok.accept();
MyOIS mois = new MyOIS(sok.getInputStream());
Object obj = (Object) mois.readObject();
Method m = obj.getClass().getMethod("foo", null);
m.invoke(obj, null);
} catch (Exception e) { e.printStackTrace(); }
static class MyClassLoader extends ClassLoader {
byte[] classImage;
// is this a normal way to program Java? Because I am unsure about how to handle the byte[] in
// resolveClass(), I am jamming them in here. Would a good programmer do stuff like this?
public Class<?> loadClass(String name, byte[] classImage) throws Exception {
this.classImage = classImage;
return loadClass(name);
protected Class<?> findClass(String name) throws ClassNotFoundException {
return defineClass(name, classImage, 0, classImage.length);
static class MyOIS extends ObjectInputStream {
private MyClassLoader myLoader = new MyClassLoader();
MyOIS() throws IOException { super(); }
MyOIS(InputStream in) throws IOException { super(in); }
protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
try {
int classImageSize = readInt();
byte[] classImage = new byte[classImageSize];
read(classImage);
return myLoader.loadClass(desc.getName(), classImage);
} catch (Exception e) { e.printStackTrace(); }
return null;
}If a serialized object implements an interface that is not already on the de-serializing jvm end, then serialization is not possible? Am I suppose to put the SomeInterface object on the server (somehow) before de-serializing an object that actually implements SomeInterface .
I have heard of object graphs. So, would not the implemented interfaces be part of an object's object graph? Thanks.
ejp wrote:
I have no idea what any of that means, if anything, but RMI comes with a dynamic codebase facility if that's what you're looking for.I successfully moved an object with a non-standard pure abstract class to a remote jvm:
client
public class Main {
public static void main(String[] args) {
try {
Socket sok = new Socket("192.168.2.2", 1638);
MyOOS moos = new MyOOS(sok.getOutputStream());
DataOutputStream dos = new DataOutputStream(sok.getOutputStream());
byte[] classImage = getClassImage("/dev/PureAbstractClass.class");
dos.writeInt(classImage.length);
dos.write(classImage, 0, classImage.length);
moos.writeObject(new ClassA(5));
try { Thread.sleep(3000); } catch(InterruptedException e) { }
sok.close();
} catch(Exception e) { e.printStackTrace() ; }
private static byte[] getClassImage(String path) throws Exception {
InputStream in = new FileInputStream(new File(path));
List<Byte> objClassImage = new ArrayList<Byte>();
int b = in.read();
while(b != -1) {
objClassImage.add(Byte.valueOf((byte) b));
b = in.read();
byte[] classImage = new byte[objClassImage.size()];
for(int i = 0; i < classImage.length; i++) {
classImage[i] = ((Byte) objClassImage.get(i)).byteValue();
in.close();
return classImage;
static class MyOOS extends ObjectOutputStream {
MyOOS() throws Exception { super(); }
MyOOS(OutputStream out) throws Exception { super(out); }
protected void annotateClass(Class<?> cl) throws IOException {
try {
byte[] classImage = getClassImage("/dev/ClassA.class");
writeInt(classImage.length);
write(classImage);
} catch(Exception e) { e.printStackTrace(); }
public abstract class PureAbstractClass {
public abstract void foo();
public abstract void bar();
public class ClassA extends PureAbstractClass implements Serializable {
int id;
ClassA(int i) { id = i; }
public void foo() { System.out.println("PureAbstractClass::ClassA::foo id = " + id); }
public void bar() { System.out.println("PureAbstractClass::ClassA::bar id = " + id); }
server
public class Hello {
static MyClassLoader myLoader = new MyClassLoader();
public static void main(String[] args) { new Hello().run(); }
void run() {
try {
ServerSocket servSok = new ServerSocket(1638);
Socket sok = servSok.accept();
MyOIS mois = new MyOIS(sok.getInputStream());
DataInputStream dis = new DataInputStream(sok.getInputStream());
int classImageSize = dis.readInt();
byte[] classImage = new byte[classImageSize];
dis.read(classImage, 0, classImageSize);
myLoader.myDefineClass("PureAbstractClass", classImage, 0, classImage.length);
Object obj = (Object) mois.readObject();
Method m = obj.getClass().getMethod("bar", null);
m.invoke(obj, null);
} catch (Exception e) { e.printStackTrace(); }
static class MyClassLoader extends ClassLoader {
byte[] classImage;
public Class<?> loadClass(String name, byte[] classImage) throws Exception {
this.classImage = classImage;
return loadClass(name);
protected Class<?> findClass(String name) throws ClassNotFoundException {
return defineClass(name, classImage, 0, classImage.length);
public Class<?> myDefineClass(String name, byte[] classImage, int x, int y) {
return defineClass(name, classImage, x, y);
static class MyOIS extends ObjectInputStream {
MyOIS() throws IOException { super(); }
MyOIS(InputStream in) throws IOException { super(in); }
protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
try {
int classImageSize = readInt();
byte[] classImage = new byte[classImageSize];
read(classImage);
return myLoader.loadClass(desc.getName(), classImage);
} catch (Exception e) { e.printStackTrace(); }
return null;
}I hope this relates to understanding RMI. Moving objects that extend non-standard classes and implementing non-standard interfaces is not easy. Or, maybe there is an easier way. Anyway, thanks ejp. Yesterday I was extremely confused. Now, I am just a little confused but think I have basic understanding. I feel big progress was made.
Similar Messages
-
ICustomRouter interface CSOM or Server Side Object model
Hi!
We are looking into a custom document route, and I know about the ICustomRouter interface.
Can it be used in CSOM?
The ICustomeRouter example here:
http://msdn.microsoft.com/en-us/library/microsoft.office.recordsmanagement.recordsrepository.icustomrouter.aspx
references:
using Microsoft.SharePoint;
...which leans towards the Server Side Object model.
I don't see anything for "routing" or "records" here for the 2013 API:
http://msdn.microsoft.com/en-us/library/office/dn268594(v=office.15).aspx
Thank you!The only thing available from CSOM is the following namespace:
Microsoft.Office.RecordsManagement.InformationPolicy.ProjectPolicy
Some of the methods available are below:
IsProjectClosed
PostPoneProject
GetProjectPolicies
Blog | SharePoint Field Notes Dev Tools |
SPFastDeploy | SPRemoteAPIExplorer -
One of the banes of my existence is resizing the same image several times because of the various contexts it appears in. For example, the main image in an article will appear bigger than it will on the index page, where many article teasers are placed. Then there's the image that goes in the Facebook "share" og. Then there's... you get the idea.
Same image, different contexts, lots of Photoshop resizing, lots of files to keep track of... but I save on bandwidth.
On the flip side, I can target the same (large) image and simply downsize via traditional HTML (width/height) on the browser end, but that will mean downloading a file that is 50-75% larger than what is actually needed. If the front page teaser displays a 1280px image at 500px, that's a huge (and potentially costly) waste of bandwidth.
HOWEVER...
If I could do the same thing on the SERVER side... in other words, tell the server to take only the pixels it needs from the (large) image and serve only THOSE to the end user... then the same image could be used in each and every context, and only the necessary bandwidth is used.
Is this do-able? If so, what is the process formally called, and where would I begin to learn how to do it?
Thanks!That's amazing. I didn't think it was possible without saving files on the server first.
This will suit my needs just fine, but allow me to push my luck even further with the following "hail mary" question : would it be possible for the server to serve the PNG with a width of 100% of the container? In other words, the behavior would mimic width=100% but the server would still only serve as many bytes as are needed to fill that space.
Not only would I not have to create separate files for every resize (we fixed that problem with your suggestion) but I wouldn't even have to customize every link to a specific size.
I'm not expecting an affirmative on this one, but it was worth asking. =) -
Dear All,
I want to access the device with non standard baudrate. Everytime I set the baudrate, serial port always return a default baudrate which is 9600.
(Always failed)
Is there anybody knows how to set a non standard baudrate in Java?
Currently I'm using Linux as a platform.
RegardsThose standard baud rates don't just exist for the fun of it. Devices,
especially simple devices, use a clock crystal to derive their baud rates.
Even 'baud rate friendly clock crystals' exist for this very purpose.
If you have to deal with a device that uses a non-standard baud rate,
return it to the shop, complain and demand a 100% refund.
kind regards,
Jos -
CSS 11501 ftp server setup problem using non-standard port
Dear Expert,
we would like to setup FTP server over CSS where our member sever use non-std-port to open both control/data channel (i.e. 6370 as ctrl and 6369 as data this case.) but seems we only get Passive mode FTP mode work only but not for Active mode FTP case for data channel establishement for server back to client...is there any professional advise can help on this case...? here is our setup info FYI
# sh ver
Version: sg0820501 (08.20.5.01)
Flash (Locked): 08.10.1.06
Flash (Operational): 08.20.5.01
Type: PRIMARY
Licensed Cmd Set(s): Standard Feature Set
Secure Management
CVDM Version: cvdm-css-1.0_K9
!*************** Global
ftp data-channel-timeout 10
ftp non-standard-ports
!************************** SERVICE **************************
service ftp_ftpgtw
keepalive maxfailure 2
keepalive frequency 15
keepalive retryperiod 2
keepalive type tcp
ip address 192.168.52.170
protocol tcp
keepalive port 6370
port 6370
active
# sh run group drfusegtwftp_grp
!*************************** GROUP ***************************
group gtwftp_grp
vip address 192.168.52.28
add service ftp_ftpgtw
active
content ftp_gtwpkg-ftpgtw
add service ftp_ftpgtw
vip address 192.168.52.28
port 21
protocol tcp
application ftp-control
activeThanks for your confirmation on no prob found in config level 1st..:P..as to save us a lot of time in isolating problem at this level.
What we can notice is seems the data port connection is fail to open for server back to client....for our general sense..... the flow expected should be:
TCP session A -- Client:1234 --> VIP:21 --> member svr:6370
TCP session B -- Client: 5678 <--> VIP:20 <--> member Svr: 6379 [on demand generated between server/client]
but we can only see session B fail to setup when client side access VIP site on CSS..even we try to put the most standard case as below
TCP session A -- Client:1234 --> VIP:21 --> member svr:21
TCP session B -- Client: 5678 <--> VIP:20 <--> member Svr: 20
we still unable to make the Active mode FTP access work either...hence we got no idea on how CSS handle FTP access when it involve services over multiple tcp ports..
and from CSS xlate view...the problem is we can only see what NAT IP that used in CSS connect to client...but no way to confirm for which port for VIP using outgoing to client. neither it is dropped by CSS..nor it is never setup from VIP to Client side. -
Cisco Secure ACS 5.6 Backup to FTP server listening on non-standard ports
When defining a software repository from CLI or GUI, I have not been able to define the custom port that our FTP server is listening on. Does ACS support the use of custom ports for FTP?
Hi Anthony,
I don't thing so it will support non-standard ports as the options are only Disk,FTP,SFTP,TFTP and NFS.
Regards,
Chris -
Server side tracking on non-OSX server
Does anyone aware of attempts of reproducing server side tracking on non-MacOSX server platform?
Our primary storage is based on opensolaris + zfs, giving us a lot of advantages. But synchronization of mobile users always takes some serious amount of time.
Obviously re-exporting home directories through OSX server doesn't change something, because server side tracking requires filesystem to be local on server.
I can guess that protocol should be relatively simple and doable on other unixes (as soon you get some way to track filesystem changes).while part of it may be technically feasible, i've never seen or heard anything about implementing server side tracking on a non-os x server. at the very least, the server runs sshd on an alternate port for client communication. beyond that, i don't know what magic is involved.
in practice, i haven't seen it work reliably on os x server, though i haven't done any testing with this enabled on 10.6 server yet. it may not be worth pursuing. -
Can CS6 Design Standard run side by side on a PC (Win 7) with CS5 Design Standard, or must CS5 be un-installed first?
All versions of Adobe apps install into their own separate folder.
You can run CS5 and CS6 side by side. -
Using non-standard sshd port after 10.8 upgrade
After spending hours tracking down this solution as a result of losing my ssh settings after the upgrade to Mountain Lion, I thought it might be useful to post the steps taken to restore the configuration I used with Snow Leopard.
Changing the sshd default listening port
Disclaimer: This tutorial is specific to Mountain Lion (OS X 10.8). I was able to accomplish this using Snow Leopard (OS X 10.6) in fewer steps, but upgrading required this more involved solution.
Steps:
1.) You must first enable the root user account in order to change the relevant files. This can be done from the terminal, or by going to System Preferences --> Users & Groups. Once there, click on 'Login Options' at the bottom of the Current User list, and 'Join' where it says 'Network Account Server'.
This will bring up a smaller window. Click on 'Open Directory Utility' at the bottom. You will be prompted for your admin password. Now go to the 'Edit' tab at the top of the screen and toggle down to 'Enable Root User'. You will be prompted to enter your admin password twice.
2.) Log out of your regular user account. At the log in screen you will now see an additional entry for 'other'. Click on that and log in with the username 'root' and your admin password. If are inexperienced as a root-level user, be careful as you can cause problems to your system can be difficult to undo.
Once in your root account, the first step is to create a new 'service definition' in the etc/services file. Open the file with text editor of choice and scroll to the current entry for sshd listening port, which will look like this:
ssh 22/udp # SSH Remote Login Protocol
ssh 22/tcp # SSH Remote Login Protocol
Overwrite the '22' with the port number you would like sshd to listen on:
ssh 12345/udp # SSH Remote Login Protocol
ssh 12345/tcp # SSH Remote Login Protocol
*12345 being our hypothetical, non-standard port.
It is important to note that the new port number will not take by simply adding a new uncommented line to the file (I tried), unless of course you comment the original ssh entries. Easiest way is just to overwrite what is there already. Save changes.
3.) You now need to edit the ssh.plist file, which is located at /System/Library/LaunchDaemons/ssh.plist. A word to those familiar with Linux/BSD environments: changing the default port in the sshd_config file, which exists in OS X, does NOT change the listening port. Simply changing the default port, saving the config file, and restarting the server (the sensible way) won't work. The OS X sshd server (openssh) is configured to get launch instructions from the ssh.plist file, as opposed to sshd_config. If you are more interested in this aspect of OS X, read up on LaunchDaemons (e.g. launchd).
Before altering the ssh.plist file, you should save a backup copy in case of mistakes, or if you need to revert back to it in the future. Name your backup file something like original.ssh.plist, etc.
In the ssh.plist file, locate the SocksServiceName entry and change it from the default:
<key>SockServiceName</key>
<string>ssh</string>
To the following:
<key>SockServiceName</key>
<string>$alternate port number</string>
In our example from above this value would be 12345.
4.) Save your changes, and exit ssh.plist. You now need to move the backup file you created (original.ssh.plist) out of the System/Library/LaunchDaemons path.
The updated sshd port will not take until you have only one ssh.plist file in the LaunchDaemons directory - this has to do with how launchd is configured to load files which is outside the scope of the current discussion. (*If you've found a way around this, please share.)
5.) Restart the sshd server. Easiest way to accomplish this is going to System Preferences --> Sharing and clicking off 'Remote Login', then clicking back on it.
6.) Test the configuration by logging into the machine running the sshd server from another host using:
ssh username@ipaddress -p 12345
There are a few good tutorials out there that capture some of these steps, but many are dated and/or incomplete. If you are running a standard setup of OS X 10.8, this should work for you.
Of course, don't be fooled into thinking that changing the default listening port from the ubiquitously-probed 22 equates to actual security. At best, it will cut down on the number of dubious connection attempts and probing.Hi all, above helped me change the sshd port number, thank you very much.
Just upgraded to OS X 10.9.3 on my macbook pro.
My findings were:
Step 1(become a root user or sudo)
Step 2 (/etc/services)
This may not be required unless you want ssh to work without the "-p XXXX" option to connect to other ssh hosts. I favor such as "ssh -p 2222 user@hostname" just to be sure I know what I am doing and also to leave ssh known port as its default "22".
Step 3 (/System/Library/LaunchDaemons/ssh.plist)
This is required if you want to change the sshd port number, I changed both "ssh" to "2222" in this file.
Step 4 (launchctl)
Below is a must as I understood:
launchctl unload /System/Library/LaunchDaemons/ssh.plist
launchctl load /System/Library/LaunchDaemons/ssh.plist
it should be already working with the new port number.
You can "ssh -p 2222 user@localhost" in the console terminal and see if its working.
Since I am no expert on MacOS X, and it is a macbook pro that I am using, I also rebooted the system and changes were reflected permanantly.
Thank you guys! -
Error getting the server-side naming service functionality
Hi all,
we are currently setting up the CTS+ activity based transport scenario. Everything seems to be working fine, however, we have to import each transport twice...
Before I go into detail in the error we get I will first describe our landscape. All the configuration we did was done in debate with SAP.
We use the SAP Solution manager (ehp1 SP 4) as the CTS+ server as recommended by SAP and have an NWDI system of which we only use the components DTR and CBS (since CMS is not used anymore in the activity based transport). We have defined three logical ports/RFCs. CTSCONFIG points to the NWDI system. CTSDEPLOY is running on the java stack of the solution manager and is only used for portal content (=epa) transports. CTSDEPLOY_DI is pointing to the NWDI system and is used for all NWDI (=dip) changes. The NWDI is running ehp1 SP3.
In STMS I defined all the non-abap systems (and configured them to use CTSDEPLOY_DI) and created the following transport route:
upload system (IMP) -> DEV -> ACC -> QAS -> PRD
I first attached the used dependencies in a transport request (SAP_BUILDT, EP_BUILDT, etc) these imported just fine. Then I did the SCA files which contain our custom code. I extracted these from the assemble step on our current NWDI system which will be removed as soon as we switch to the new CTS+ environment.
When we import the transport into the runtime systems then we see the DTR and CBS be filled sucesfully for this specific system. However, the transport request itself always fails with errorcode 12 and the error is:
Error during export service registration: Error getting the server-side naming service functionality during getInitialContext opera
tion. com.sap.engine.services.jndi.persistent.exceptions.NamingException: Error getting the server-side naming service functionality during getInitialContext operation.
Error in execution of Web services CTSDEPLOY_DI , exception is cx_cts_file_import_failed
File import canceled
When we then reimport the same transport it will go the second time fine. This is no problem during the setup but will not be workable when we go live ofcourse. Is there anyone who had this issue before as well and have a solution for it?
Kind Regards,
Nico van der Linden...Hello Nico,
I would need the java trace files to get more info on this issue, but you can start troubleshooting this error with these notes:
#1172252: CTS+, 'attach file': Troubleshooting Guide;
#1003674: Enhancement for non-ABAP systems in CTS;
#1155884: CTS+, configuration 'close coupling': Troubleshooting guide;
Pay special attention to parameter NON_ABAP_WBO_CLIENT, whether it's correctly set on your CTS+ system(s).
Note #1003674 is a must for any CTS+ systems to work properly, as well as having an updated version of the transport programs (tp and R3trans).
Lastly, note #1155884 goes through some JCoException exceptions that commonly take place during CTS+ transports. But again, you need to check the underlying trace files to find the root cause of your issue.
I hope this information helps.
Best regards,
Tomas Black -
Displaying server-side include in DW8
Sorry if this has been asked before? I did search and
couldn't find it (this site is painfully slow and searching is
worse)
I am trying to figure out how to make DW8 show my server-side
include files in the design view. My site uses SSI for all headers
and footers, so every page has at least 2 SSI's. They show up as
the SSI mark on the page, but not the code or graphical
representation of what is in the SSI. I need to have that code
snipet show up in my design view. The only way I have been able to
figure out how to do it, is to reinsert the SSI again from the
menu, and then delete it. Doing it that way, the original ssi that
is listed on the page will display graphicly in the design view.
I do have the option in the preferences - Invisible Elements
- Server-Side includes: and the check box is checked / enabled.
If I could, while I'm here, one other question. I have DW
code rewriting turned on, and it shows me each time I open a file,
what corrections it has made. But if I save the file, and then open
it again, it shows me the exact same corrections being done again.
Is there a trick to make DW8 save the corrections it automatically
makes to the files?
many thanks in advance.> I know that there were major changes between 4 and 8.
One of which was tightening the tolerance for bad code. CS3
is very strict
about displaying proper code.
However, your fragments below look OK.
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.dreamweavermx-templates.com
- Template Triage!
http://www.projectseven.com/go
- DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs,
Tutorials & Resources
http://www.macromedia.com/support/search/
- Macromedia (MM) Technotes
==================
"mmdlcab" <[email protected]> wrote in
message
news:[email protected]...
>
quote:
Originally posted by:
bregent
> Do any of your included files include html, head or body
tags? If so,
> that's
> the problem. Having those creates invalid html which DW
will not
> render.
>
> Thats a great thought, but I just checked, and no, none
of those tags are
> in
> the files. I'll see if I can attach the code for the 2
files and see if
> that
> helps any. The header file does have my menu system
pasted into the text
> of
> the include file, but that has not caused problems
previously. FWIW, this
> worked fine in DW4 which is what I upgraded from. In
version 4, the
> headers
> and footers showed up fine in desgin view. I know that
there were major
> changes between 4 and 8.
>
> Header include file:
> ----------------------------
> <table border="0" align="center" width="750"
height="110">
> <tr>
> <td><a href="/index2.html"><img
src="/images/color_logo.gif"
> width="110"
> height="107" alt="MMDL Logo" border="0"
/></a></td>
> <td align="center" valign="middle"><a
href="/index2.html"><img
> src="/images/header4.gif" width="450" height="110"
border="0" alt="MMDL -
> The
> worlds largest steel tip dart league"
/></a></td>
> <td align="center" valign="middle"><a
href="testpage.html"></a><a
> href="
http://www.dmisports.com/darts_main.html"><img
> src="/images/dmilogo_small.gif" alt="DMI Sports"
width="110" height="77"
> border="0" longdesc="
http://www.dmisports.com"
/><br />
> <!-- <a href="
http://www.mmdl.org/dmi_flyer.pdf"
> target="_blank">League Board
</a></td>-->
> </a><a href="
http://www.mmdl.org/dmi_flyer.pdf">League
Board </a></td>
> </tr>
> </table>
> <!-- DHTML Menu Builder Loader Code START
--><script language="JavaScript"
> type="text/javascript">
> var navVer = navigator.appVersion;
> if(navVer.substr(0,3) >= 4)
> if((navigator.appName=="Netscape") &&
(parseInt(navigator.appVersion)==4))
> {
> document.write('<' + 'script language="JavaScript"
type="text/javascript"
> src="
http://www.mmdl.org/dmbmenu/nsmenu.js"><\/script\>');
> } else {
> document.write('<' + 'script language="JavaScript"
type="text/javascript"
> src="
http://www.mmdl.org/dmbmenu/iemenu.js"><\/script\>');
> }</script>
> <!-- DHTML Menu Builder Loader Code END
--><table border="0" width="550"
> height="110">
> -------------------------------------
> footer include file
> --------------------
> <table border="0" align="center">
> <tr>
> <td width="20" valign="top"
align="center"> </td>
> <td align="center" valign="middle" width="194">
> <div align="left"><a
href="mailto:[email protected]?subject=MMDL
> Darts.*..
> ">Comments? Email us</a></div>
> </td>
> <td align="center" valign="middle"
width="128"><a
> href="
http://www.mmdl.org/dmbmenu/textmenu.html">Text
> based menu</a></td>
> <td align="center" valign="middle"
width="223">© <SUP>SM</SUP>
> 2007
> Minute Man Dart League. All rights reserved.</td>
> </tr>
> </table>
> -----------------------
>
>
>
> -
[Announcement: Java server-side web controls] - TICL 1.0 Final Released
Hello JSP developers,
We are pleased to announce the immediate availability of TICL (Tag Interface
Component Library) 1.0 Final Release. TICL is library of server-side user
interface components accessible through JSP tags. Like a conventional
desktop toolkit, the components maintain state and manage interaction logic
with the end-user with little or no assistance from the programmer.
Read more about TICL at http://www.kobrix.com/ticl/ticlmain.jsp.
If you are already a TICL user, check out the release notes at
http://www.kobrix.com/ticl/releasenotes.jsp for the latest changes.
More info
One of the major goals of TICL is to bring RAD-like development to the WEB
platform. Programmers can concentrate on logical functionality and build JSP
pages by placing TICL components through tags and responding to user events.
Every component is self-contained and manages interaction with the end-user.
Visual appearance of components is abstracted into a high-level styles
framework. In fact, TICL is probably the only server-side Java toolkit that
rivals Microsoft ASP.NET's web controls.
The library is tailored more towards WEB application development, rather
than content only oriented sites. It is designed to quickly build clean,
robust, well-structured and therefore highly maintainable code. It
integrates seemlessly into existing JSP applications and it will work on any
standard compliant JSP 1.1 container (e.g. Tomcat 3.2.1 and above, Resin
etc.) and with fairly recent versions of the popular browsers.
Core features are:
- A powerful and extensible server-side event model. Component-end user
interaction is encapsulated into a well defined set of server-side events.
You can of course define event listeners, develop custom events, event
filters etc.
- Predefined components like panels, tabbed panels, tree views, DHTML menus,
table views. Most can perform their interaction with the end-user at the
browser through DHTML or by making a trip back to server on every user
action (like expanding a tree node or minimizing a panel) - that is
components are either "client" or "server" managed.
- Smart browser handling. A complete framework for dealing with browser
(user agent) capabilities, including detection of dynamic properties like
connection speed, screen resolution, available plugins etc.; supporting JSP
tags; on the fly selection of component rendering based on the current user
agent.
- A high-level styles framework for complete customization of the look&feel
of components. Styles can be organized into themes. An inheritence mechanism
of style objects provides for a powerful high-level structuring. The
framework allows for a clean separation between look&feel and functional
behaviour of GUI elements. No more copy&paste, no more code cluttering with
tedious, browser-specific HTML details - consistency of look&feel can be
easily achieved by maintaining a single TICL style sheet, a simple XML file,
that is applied to all pages in your WEB application.
- Full encapsulation of HTML forms, including a file upload component,
augmented with things such as server-side command handlers, labels and DHTML
tooltips. Form fields are typed, true server-side components. Not limited to
the standard HTML form fields, they operate on a high level and custom ones
can be developed and plugged into the framework.
- A very powerful and easy to use declarative form validation mechanism
(both client and server-side). You define validation rules and handlers for
invalid forms in a clean, declarative way. The same rules you define can be
applied at the client (through automatic generation of the necessary
JavaScript) or at the server. Special purpose syntax allows you to easily
handle interdependencies between field values.
- A Data Objects framework integrated with TICL forms. Allows you to
manipulate complex aggregate structures and associate them with forms for
automatic mapping to/from form field values and data object fields (e.g.
Java beans). A type mapping framework allows you to map any form field type
to any Java type.
- An integration module for the popular Struts framework is provided also.
For example, it is possible to use the powerful TICL form tags with Struts'
ActionForms.
TICL is FREE for non-commercial and non-govermental use, and for an
unlimited evaluation period. It comes with an extensive, over 200 pages,
Reference Manual. To download it, please goto http://www.kobrix.com and
select Downloads from the TICL pulldown menu. If you are not already a TICL
user, you may need to register first.
We sincerely hope you will enjoy TICL and are looking forward to your
feedback!
Best Regards,
Borislav Iordanov
[email protected]
Kobrix Software Inc.
http://www.kobrix.comThis looks quite nice. I'm going to evaluate it now, but I wish it was open-source....
Judging from the release notes, it's been around for a while. Has anybody had any experience with this product? Is it reliable? Does it scale well? -
Keyboard shipped with Pavilion non-standard number keypad
Hello, I advised a friend to buy an HP Pavilion 550 desktop for use at her office. She is a bookkeeper and relies heavily on the number pad on the right side of the keyboard. The keyboard that shipped has a non-standard numeric keypad where the "0" key has a right facing arrow instead of the "0" key. Financial people cannot function with this type of keyboard. I had never seen a keyboard like this before and cannot imaging why HP shipped something that is not standard. I asked her to contact HP support, since there must have been a mistake. HP support offered to SELL her a new keyboard, but would not replace the keyboard shipped with the PC. The PC is brand new and just came out of the box! This is an embarrassing display of our support for our products. Please help.
i suppose you could do that - but that seems like a royal pain, and certainly not the graceful experience that apple is known for.
Alternatively - i have found you can just type CHA CHA in text with the keyboard and it translates it into numbers accordingly.
Still - a jarring experience, i prefer the other way. Oh well. -
Contribute changing relative path for server-side include
I am using Contribute CS3, version 4.1, and my pages crash
every time a send a draft for review, because Contribute is
rewriting a relative URL in a server-side include.
The server-side include (before I send for review) reads:
<!--#include file="../foo/bar.fileextention"-->
After I edit other portions of the page and send the draft
for review, it reads:
<!--#include file="http:
//www.servername.com/foo/bar.fileextension"-->
Which results in the draft being unreadable.
Is there any way to tell Contribute not to monkey with this
URL? I have hunted, read the forums, checked the knowledge base,
and coming up empy.
Thanks in advance for any help you can provide!! I really
appreciate it!
-NicholasAnswering my own question.
I researched this complete forum and with taking ideas from
different posts, I was able to figure this out. I thought I would
post it for anyone else needing to know the answer in one place:
Include tags must read:
<!--#include virtual="includes/fileName.html"-->
(Include file is NOT a real HTML doc -- no tags in file
except for CSS, as it would be used if not using Contribute.)
No reference to .dwt needed nor Template created.
No Edit instance tags needed anywhere.
Contribute user navigates to page:
[Upper right corner] Click Choose...
[In my structure] User opens includes folder (double clicks)
User selects THE file (clicks OK)
User clicks on Edit Page button
(Text is now editable.)
User edits text.
User clicks on Publish button.
Worked for me several times trying.
- Janet -
Problem with skin for server side buttons.
Hi,
I have a problem with the skin for server side renderd buttons.
In my CSS file I have :
.AFButtonStartIcon:alias
content:url(/skins/images/btns.JPG);
.AFButtonEndIcon:alias
content:url(/skins/images/btne.JPG);
.AFButtonTopBackgroundIcon:alias
content:url(/skins/images/btntb.JPG);
.AFButtonBottomBackgroundIcon:alias
content:url(/skins/images/btnbb.JPG);
JPG files in project are in dir "public_html/skins/images".
In WAR file,the JPG files are in "/skins/images" directory.
Skin configuration is correct because other settings from CSS
file are functioning fine after deploying.
But buttons are standard browser buttons and are not taking the images i have used.
In document provided by Oracle it says:
(Note: These icons must be specified using either context-image or
resource-image icons. Text-based icons are not allowed.)
I am nt able to understand what this means?Perhaps this thread will help.
JSF Skining Button Images
The doc should say whether or not the width/height is a requirement. But since it doesn't mention it, try adding a width and height.
- Jeanne
Maybe you are looking for
-
Window Update 8.0 to 8.1
Sir, There are window 8 is installed in my G6 Notebook now i want to update my window 8 to window 8.1. i have completed download the updatioin of window 8.1 but after completed download system required to restart to b configure the laptop. but after
-
I restored my MBP to factory thinking that would help...NOPE! I spend a great portion of my day on the web, networking for my writing, what can I do...getting desparate.
-
Copying Accounts to multiple iMacs possible?
I preside over our computer lab at my school which has 14 iMacs and 12 Gateways. Do I have to program the accounts individually on each iMac or can I do one and copy the preferences to the others? Each one has 3 accounts with Admin, Student , and Dig
-
Why can't I read a .docx file?
I have an iPad running iOS 5.0.1 and I just received an email with a .docx attached. Whan I tap on it, it tries to open only to get a message that it can not read this kind of file. It can however read a .doc. What's up with that?
-
Need help on TRacking Jobs history of an ETL package
Hello there, Kindly Elaborate me the way to track Job history of my ETL package. For Sample I am running that package on my local Server. i need a SQL Server tAble, Which Gives me following information -Name of the package -TYpe of job.: Etl or TSql