Information Technologies • 1:07:11
Each version of Mac OS X Server has made impressive leaps in functionality, compatibility, and support for open standards while continuing to offer the easiest and most powerful management tools. Leopard Server promises a giant step forward in capabilities and performance for deploying and managing Apple's industrial-strength server operating system. Hear from the architects of Leopard Server as they outline their design goals and major new features.
Speakers: Kazu Yanagihara, Jeff Michaud, Greg Vaughan, Mike Lopp, Red Dutta, Dave Thewlis, Chris LeCroy
Unlisted on Apple Developer site
Transcript
This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.
Welcome everyone to the Mac OS X Server Overview session. So we have a lot of stuff to cover today in Mac OS X Server. We're going to go deep into some of the stuff that's new in Leopard Server. And we've been working on this for a while, and so we're really excited to be able to share with you, to have you guys all here, and to be able to talk about the new features of Leopard Server.
Those of you who have been using the product for a while know that we've stayed consistent to a strategy that we've had throughout the development of Mac OS X Server. We've taken an industry standard Unix operating system, we've picked from among the best open source packages that are available, and we've tied them together, integrated them to make sure that they all work together and tie them together with Apple ease of use.
It's been over five years now that we've been releasing Mac OS X Server. And from the beginning back into 2001 all the way up to now, we're on our seventh release. Actually, we have two new releases today. The first, Tiger Server on Intel, or Tiger Server Universal, is a port of the existing Tiger Server onto the Intel hardware. So Mac OS X Server now runs on Intel and supports the new Mac Pro and XServe hardware.
But we're going to spend the bulk of this presentation talking about what's new in Leopard Server. And for the next hour, we're going to go into detail about four areas. We're going to talk about the server foundations and improvements we've made in the server, as well as improvements to the services and some new services as well. We're going to talk about streamlined server setup and how we've improved the management of the server.
We have our new iCal Calendaring Server. And we're going to talk about Teams, which is a new wiki and a set of web services in Leopard Server. So to start with, and to talk about server foundations, I'd like to welcome to the stage, Kazu Yanagihara. He's our senior engineering manager for Leopard Server. Kazu? Thanks, Greg.
Good afternoon. It's nice to see you all again. See you just once a year. So let's start with the base OS. For those of you who are new to Mac OS X Server, it's based on the solid foundation provided by Mac Chrono and BSD. It offers all the key features that are expected in modern OS, such as protected memory, unified buffer cache, journaled file system, link aggregation, and on and on and on. It's also fully Unix compliant, so it's really easy to port software from other Unix platforms to ours.
And we now have 64-bit. As Simon Patient mentioned earlier, we are now fully, fully 64-bit, support 64-bit on both PowerPC and Intel platforms. Everything from the low-level libraries all the way up to GUI. And some of our services, such as QuickTime Streaming Server and MySQL, can be ported to 64-bit so they can take advantage of the large data set. Also on the Leopard platform, the 32-bit applications run natively side-by-side with 64-bit apps. So there's no emulation mode and there's no performance penalty.
Let's talk about Open Directory, which is Apple's directory and authentication system. The directory portion is based on the industry standard LDAP, and Corvus is our primary authentication mechanism, although we do support a large number of legacy methods such as APOP and Chrome MD5. The audio really also fits really nicely with other directories such as Active Directory or NIS or Fluff BIOS. Excuse me.
And lastly, we support replication. So if you need to have the large deployment of open directory, you have that. You can have up to 64 replicas right now on Tiger. And this is what's new in Open Directory, or some of them. First, we have support for cross-domain authorization in addition to authentication. We also have RADIUS integrated into Open Directory now. Thank you.
And it's based on free, ready-to-open-source projects. So if you have a bunch of airport base stations to manage, you can do so now in a centralized manner using open directory users and groups. And lastly, we now have cascading replication or the multi-tier replication. So you will no longer have the 64 limit, and you can have hundreds and hundreds of replicas if you have large deployment of open directory. So that's a few of the new features in Leopard. And if you're interested in this topic, we've got a lot more to talk about, so there's a session dedicated to it at 2:00 tomorrow in this room.
And actually, that's all I had for the foundation portion since we got a lot of new stuff to talk about. So let's jump right into the services. As Greg mentioned earlier, we have lots and lots of services, and we seem to be adding new services every year. And we have more than a few to add this year as well. And most of them are based on open source projects, and then many of those that we develop are also open source, the QuickTime streaming server, the iCal server, Bonjour, and so on.
So now let's take a look at some of the existing services and some of the enhancements we made to them. And let's start with mail. So interesting one is the group mailing list. Now you can simply send email to any open directory group, and behind the scene, the mail server does the old configuration for you, and all the members of the group receive the email, so you no longer have to create a separate mailing list configuration.
Another big ticket item is the Active-Active clustering using XAN as a backend. You cannot do it with NFS because we rely on some locking semantics that's supported by XAN, but this should really help people deploy much wider deployment of our mail server as well as high availability solution. Also got the vacation messages as well as 64-bit mail services.
iChat Server is now based on Java 2, which has a brand new code base. And it's also fully XMPP compliant, so you can now federate with any XMPP servers out there, including Google Talk. And we want to make sure that any communication that you have between servers is secure, even over the public internet. So we now support certificate-based encryption as well between servers.
And one of the most requested features for iChart Server from the previous release was the chart archiving, where every single message that passes through the server gets saved and archived so you can search and retrieve them later. So this is really important to a lot of companies out there for legal reasons, so we have that in the product now.
And last but not least, we do have Kerberos support for both iChat Server and iChat Client in Leopard. Which means if you are binding to Active Directory, you no longer have to pass Createx Pass over the network. So that's iChat Server. Let's move on to the web front.
So now we promoted Apache 2 to the first-class citizens, so you get to choose which version of Apache you want to use. And it depends on what you choose, we automatically configure things behind. For example, if you select Apache 2, we automatically configure PHP 4, or if you have Apache 2, PHP 5.
And also, you can use our admin GUI with ease of version, so you get to pick, and you can basically do anything you want with it. We are also including Ruby on Rails with Mongrel in this release for your rapid development pleasure. But we also include ModFastCGI, so if you want to, you can use Ruby on Rails with Apache as well. You have the choice there.
Both JBoss and Tomcats get the version upgrade, and both Apache 2 and MySQL are 64-bit. The Apache 1 is going to stay as a 32-bit server. And if you're interested in this technology area, we have a separate session on Wednesday, and we have a couple of cool demos, so hope you guys can make that.
QTSS. So one of the most requested features, mostly from the higher education, was support for open directory integration. So we're working on that right now for both authentication and access control. We're also working on 3GP version 6 support for improved quality of service on your streaming to cell phones and handheld devices. And again, the QTSS is also going to be 64-bit.
Let's talk about X Grid 2. There are a couple of interesting features here. Scoreboarding is a feature where the individual agents can assign scores to themselves based on the configuration and capabilities. For example, CPU speed, the types of GPU it has, or even free disk space. And those scores get sent back to the controller, and then the controller assigns jobs to the agents that are most qualified based on the scoreboarding. So basically, you can have a much smarter grid, and the end result is you have faster job execution.
The Grid Anyway API is a new API that helps you make your application transparent when you use X Grid. What API does is takes the job and checks to see if there's a grid available on the network, and if there is, it distributes. But if there's not, it simply just loops back and executes it locally, which means the application doesn't have to have two separate code paths to use X Grid now. And also supports directory-based configuration now.
And we do have a separate session on Friday if you're interested in this topic. Managed Desktop gets a bunch of new features as well. Got the nested group support, application launch restrictions, and we now finally have command line tools. So if you don't like the GUI, you can do it from the command line as well. The external account is the feature where you can take your home directory and then move it to your portable device, FireWire drives, so you can carry your home directory wherever you go.
Yep. We are also expanding and adding a bunch of new plugins. So some of them include support for parental control, dashboard, front row, VPN, internet sharing, and on and on. Yep. We are also expanding and adding a bunch of new plugins. So some of them include support for parental control, dashboard, front row, VPN, internet sharing, and on and on.
And on the system imaging front, we're going to have a brand new system image utility that's much, much easier to use. And it's going to be also integrated with Automator so you can create a workflow template and use it over and over. And again, here you have command line tools as well.
So that's actually what I had for the existing services. So now let's talk about some of the new ones, starting with Spotlight Server. So with Leopard, you can search any network volumes that's mounted real transparently as if it's a local volume. So all the new features of Leopard is going to be supported, including recent items, Quick Look, and so on.
Access Control is enforced and there's no configuration, so out of the box you can simply mount any server volumes and you can do the search. The DVD you have supports spotlight searching on AFP only, but before we ship we're going to have support for SMB. We also have this Apache module that lets you do spotlight searching from your web client, so if you're interested you can take a look at that.
And now let's talk about Podcast Producer. What is it? It's a complete solution that lets you create and publish podcasts. So let's think of an example, university environment. What a lot of people want there is really capture all the lecturers out there and make them available as a podcast to everybody, all the students and perhaps to the public. And Podcast Producer lets you do that without having any manual steps. So let's take a look at how it works.
So going back to the lecture example, in the lecture hall, you probably have a camera sitting in the back. And when the professor walks into the lecture room, all he has to do is use our new remote camera control software to start the camera. And you get to do that either via our new Cocoa app or from using your browser. And then all those machines that's connected to camera, we have this new video recorder software.
And what it does is it takes the raw input from the camera, converts it to H.264, and then when the lecture is done, it uploads it to the server. And this podcast producer server, it's sort of the brain of this whole system that coordinates different activities and also does things like access control. So in this particular case, when the file gets delivered to the server, what it does is it tells the workflow engine to start processing that movie file.
And this workflow engine is just simply a cluster of X Grid agents that's sharing the same shared volume. X, typically, but it could be NFS as well.
[Transcript missing]
And when the whole processing is done, what the server does is it tells the publishing servers that the output file is ready for delivery to the end user.
And typically for the podcast, it's a weblog server, but you can also deliver via a QuickTime streaming server. Maybe you have a high-res version of the movie, so you can make it available in two different ways, or even just post it to the web server so you can do the web download. In addition, optionally, you can also send an email notification to a set of users that you specify with the URL inside so they know when something new comes in.
So it's real complete end-to-end solution that lets you capture, process, and deliver. And one thing to note there is the only manual process there was the professor walking up and then starting the camera. Everything else is automated and taken care of for you. So now let's take a look at this example again.
So with this system, by the time the students leave the lecture and go back to their dorm room, the podcast is already waiting for them in the iTunes application or synchronized to the iPod so they can take it after a study session, for example. So it's a real single-click publishing solution.
It's also very scalable. The example you saw had a lot of different systems working together, but in its simplest form, you can run everything on a single machine. For example, if you are producing one or two podcasts, maybe that's sufficient. But in most cases, you have something like this or start with something like this. And as needed, you can continue to expand. For example, you may want to put a bunch more cameras, one for each classroom, so you may have like 50 of them.
And then as a result, if you get a lot more files coming in and processing gets slow, you can simply add CPU to the grid. And if your disks start to get full, no problem, just add more X Server Raid. XSAN can support up to 2 petabytes, I heard. And also XSAN supports dynamic volume expansion, so without bringing the whole system down, you can continue to expand this system.
And if your end users start complaining that podcast delivery is getting slow, you can simply cluster all these servers. So you can have the farmer of servers, something like this. Oh, guess the slide got messed up. All right, next let's talk about the extensibility and customizability. So as you can see here, it's very modular.
And there are a lot of opportunities for you to plug into this whole system. Example is this video recorder. What it does is it just creates a file and uploads the file via FTP. So what you can do is if you have an application, you may want to add menu items saying "Publish to Podcast Server" and let people just upload the file to our system and we're going to take care of the rest. We can process it for you and we can publish it for you.
Also, looking at this workflow engine, we have this basic set of tools, which are simply just Unix command line tools that gets executed by X-Grid agents. We ship maybe 10 or so real basic tools, so there's an opportunity for you to come up with something real cool there. Just throw it into the tools directory and it's going to work.
And lastly, the output file that this whole processing produces is just going to be sitting on that shared file system at a well-known location. So if you have any server application, you may want to actually take the file and do anything you want with it. You may want to distribute using BitTorrent, or some of the universities may want to integrate with their Sakai-based systems. So a lot of opportunities here.
Podcast Producer is also real secure. It's integrated with Open Directory and uses it to do different access controls using Open Directory users and groups. So not just anybody can go up to the camera and start the recording and generate podcasts. So that's sort of the four minutes overview of what Podcast Producer is. It's a complete end-to-end solution that lets you do single-click publishing. It's also very scalable from one machine to hundreds of machines.
It's modular and extensible and customizable, and it's also secure. And we don't have this software on your DVD just yet, but we do have a session on this topic dedicated to it on Wednesday, and we're going to be showing you a demo, so if you're interested, please attend that session.
And that's all I had for the foundations portion. So now I want to talk about one of the key features of Leopard Server, the easy management. So one thing we've been thinking about is our admin tools. And one thing we've been realizing is it's still not good enough and easy enough for the novice users, but at the same time, it's not powerful enough for the high-end advanced users.
So in Leopard, what we have is two different modes in which you can set up and manage the servers. The standard configuration is people like small business owners or people who need to manage their own work groups within the institution, or people who don't have IT staff and just want to use the server in a real basic way. The dance configuration is for IT staff and for specialized deployments such as mail clusters. So now let's first take a look at the standard configuration and see how we made it real easy to use.
Starting from the out-of-box experience, we now have a much streamlined server system. So the first thing you get to do is pick between the standard and advanced configuration. And if you pick that standard, you only have a few more additional panels after that, and then the system also tries to figure everything out for you.
So you don't actually have to make a lot of decisions. In fact, not only does it set up the server itself, but it also tries to set up the network. For example, it sets up the NAT settings on your router so all the services on your server work just right.
We've also added basic user management. So if you're a small business owner, you can just add all the employees right here. You can even take pictures here, which means by the time you're done with those few steps in Setup Assistant, your whole server is ready to go. The service is up and running, the users are defined, the network is ready, and your group is ready to start collaborating. You don't have to even launch an admin application to manage your server after that.
If you want to, you can customize server settings, and we have brand new tools for you for that. It's called Server Preferences. The GUI is something that looks pretty familiar to a lot of people. It looks just like System Preferences here. It's real easy to use. And we also have a brand new dashboard widget that lets you monitor how the server is doing. And again, it's real easy to use GUI, and it's real simple.
And in general, we also try to automate things for you as much as possible. So one example is that the firewall feature. This is a feature where Mac OS X Server is constantly looking for the network traffic. And if it detects any network intrusion attempt, we automatically reset the firewall settings so that that particular IP address is blocked for a certain period of time, and you get notification for that.
We also have a backup of the server based on the Time Machine technology, and you can use it to backup not just data, but also server settings. And you can restore in a granular fashion if you want to as well. And again, after the initial setup, everything's automatic, so you can kind of forget about it.
So sort of the philosophy around this standard configuration is we want to keep it real simple and as much as possible automate things for you. So now what I would like to do is invite Jeff Michaud and Greg Vaughan to give us a quick demo of Server Preferences and Widget.
Thanks, Kazu. Can we have demo on the screen? There we go. So I want to show a little bit about our new administration apps called ServerPreferences. And what I've got here is a Leopard server. It's in standard configuration. So when you install standard configuration, you get in your doc ServerPreferences by default. The more advanced administration tools are still present. And you can configure them in if you want. And the thing about ServerPreferences, it's designed to work in conjunction with the more advanced administration tools. So if there's more power you need, you can always jump into the Workgroup Manager.
and Server Admin. So the first thing you see here is these are the services that are running out of the box on the standard configuration. We've got Calendar, iChat, File Sharing, Mail and Website. One service that's also running that you don't see here is an Open Directory Server.
And Okay. DNS is a good thing. So this configuration is good for a small business, and you see I've created some users here in my local directory. I've got a user account for Greg, and he's going to log in later. He's got his network account information. He's going to log in later, and he's going to want to auto-configure his applications.
I also notice I haven't created an account for myself. I want to be sure when Greg hooks up, connects up, and gets his accounts and his applications auto-configured that he sees me online. So I'm going to go ahead and create an account for myself. If I can type correctly.
And I can go in here, I could take a picture if I wanted to, I could edit my contact information, I can set basic access controls on my services. Again, if you need more control, you can go into Worker Manager and do more. So that's the user panel.
I'll show you a couple of the other services and what the settings look like. So here's mail. So what you've got is just the basic stop, start, relay, welcome message, and spam filtering. So I'm going to go ahead and set a welcome message because when Greg logs in, I want him to feel welcome.
So there's our welcome message is all set and ready to go. And again, if you want more control, say, over the spam filtering, you can go into Server Admin and do that. Similarly with iChat, just the basics here, stop, start, the server-to-server federation that was mentioned in the last session, and logging. Again, if you want more control over logging, go ahead and use the more advanced tools to get that.
And we've also got backup. Backup is interesting because it uses the time machine technology that you heard about today to backup the server settings and data. So I can go into this panel and I can choose my data store location. I can choose whether I want to schedule it or to back it up immediately. And it's going to go and actually for all the services, it's going to backup their data, backup any user data that goes along with it.
So for example, if you've misconfigured a service or one of your users lost their email, one of their email messages or something, if you've got a backup, you're all ready to go. You can go ahead and restore it. So I click Restore, and I can choose one of my-- One of my backups here. It's actually going out and looking through the sparse backup that Time Machine made. And so here I can choose selectively what I want to restore.
So that's the... Backup and Restore functionality. As Kazu mentioned, we've also got a dashboard widget, and it's for Monitoring and Notification. So you see again I've got my services here that are running. I've got this basic status indicator and some status text here. And I've got some a graph up here that I can use for a CPU, or I can view my network activity. And it's also useful for notification. So we're going to demo that by using our adaptive firewall that Kazi mentioned earlier.
And what the adaptive firewall does is it watches traffic on various services when it sees something it thinks is suspicious, it will actually block out that IP for some amount of time. So Greg, who's clearly not happy about being up in the city here, has decided to hack into my server using AFP with a bad password.
And And there we see we've got the notification that something happened. A suspicious activity. I'll click on that and I'm notified there's an attempted intrusion and that's Greg's IP address. And you can see his access has been temporarily blocked. So that is server preferences and I'll give it back to Kazu.
Right, so we made the setup and management of server much, much easier, but we didn't want to stop there. We wanted to go one step further. So looking at typical setup, you need to set up server, the network, but also client. And that's the part that's a real pain in the butt, because if you're doing it, you have to set up application on each machine and every single application on each machine. And if you're having your end user do it, it's very error-prone. So we wanted to automate that. So in Leopard, what the client can do is it can pull configuration information from the server and automatically configure all those different clients.
And not only just configures itself, but also it can dynamically update. So for example, if you change the host name of the server, all the setups on the client machine, every single client machine automatically gets updated as well. So what I would like to do now is have Greg Vaughan give us a demo of that.
Okay, so here we have a standard install of Leopard. So normally-- Hold on, hold on, hold on. Demo 3? There we go. So normally when you first launch Mail, it's going to come up with its standard setup assistant. Mail's setup assistant is fairly easy, but there's still a few pieces of information that the administrator needs to communicate to the client and tell them which fields to type in various addresses and usernames. And in addition to Mail, there's also other apps that they need to configure. So we decided to get rid of all the separate configuration of apps. So now I'm going to launch Directory Utility.
It's going to go out on the network, and via Bonjour, it's going to find out the server that Jeff set up here and ask whether I want to join that server and start using its services. I'll click that I do. I now need to type in the username and password that Jeff set up for me on the system, and I also need to type in my local password. Now it's going to ask whether I want to go and configure all my services to use the server. This would be the normal choice, but if you want to configure your applications manually, you're free to do so.
In addition, we separately ask whether you want to configure Time Machine to backup your data to the server. It's a separate option because if you have your own personal laptop that you're bringing into your company, you may choose to use the server but configure Time Machine yourself to backup your own data at home rather than backing it up to the company server. So I'll choose to backup all my data to the server.
So now it's going and it's configuring all my applications to use the server. In addition, it's actually creating a disk image on the server that's going to be my Time Machine repository for all my backed up data. Now that it's done that, I'm going to log out and log back in again to use my new settings. It's now picked up my user picture that I previously took on the server. And I log in.
So now when I go to mail, instead of coming up with the setup assistant, it's going to be configured for my mail application and it's going to connect via Kerberos. So I click on it and there's my welcome message. In addition, it's configured my address book. So if I wanted to send an email to Jeff, I could just start typing in its name and it'll auto-complete his address or any address of any user on the server.
Similar, we've done the same thing for iChat now so that when I launch iChat, it comes up. I'm automatically connected to the server again via Kerberos. In addition, all the people in my work group have been automatically added as my buddies so that I can see that Jeff's online and I could just double-click to send him an iChat.
Then finally, we've also, as I chose earlier, to configure Time Machine. So, oops, I didn't want to launch that again. I wanted to launch this. So if I go into System Preferences and go to the Time Machine Preference, it's going to go and now it's going to mount the volume off the server and it's going to mount my backup image. So I could choose Backup Now and backup all my data to the server.
This is actually just a sample of the things we configure on the client. There's a few more things that we automatically configure to use the server services. But basically, we're just trying to do everything we can to make it easy to just get going and start using the server. So back to you, Kazu. Great.
All right, so that's the standard configuration. It's much easier to set up and much easier to set up not only the server, but also the clients. Now let's talk about advanced configuration and server admin real briefly. So here are some of the new features that we're implementing in a server admin. The first thing we did was we redesigned the UI a little bit with a focus on ability to navigate among lots of different servers.
So you now have this three column browser on the top, the one on the left for list of servers, one in the middle, the list of services, and the one on the right, specific panel for the particular service. And we also made a change so the service column in the middle lists only those services that are enabled, although you can actually customize if you want to. So here's an example of the mail overview panel. Here's another one for the settings panel for the mail.
And if you have only just one or two servers and don't want to do all this navigation in this browser and you want to keep the GUI a little bit simpler, you can collapse the GUI. So you just have the bar on the top indicating where you are and just use that bar as the pop-up menu to navigate between services. So you have a choice here. And this is something we're still kind of playing around with it. So we may change before we ship, but some improvements there.
The last thing we added was the Service Configuration Assistant for configuring services initially. Here's an example for the mail server. So with this, just with, I think, three panels, you can create a mail cluster. Other features include tiered administration. So this is a feature where different admins have different permissions. For example, the admin A may be able to do everything, while B can only reset the password, while C can manage AFP server and SMB server, for example.
We also have a bunch of different improvements in terms of monitoring the server so you can see how the server is doing, performance and security and so on. And we are also adding the event notification functionality as well. A lot of this is not yet in the build, but something's going to start to show up in subsequent releases, so if you're interested, please look for them.
So that's it for the easy management. So let's summarize. We have this brand new Express Setup application that's fast and complete. We have brand new server preferences and widgets that's real simple and we do things for you automatically. And not only we set up and configure servers and network, but we also do the automatic configuration of all the clients.
So within a minute you can set up the whole workgroup. And at the end, we also have server admin which we're going to continue to evolve with scalability and advanced features as a focus point. And that's all I have to say today and I would like to invite Michael Lopp who's going to tell us all about iCal Server.
Good afternoon. Let's have some fun. How many of you are happy with your mail server right now? Show of hands. Mail server. Really? That bad? Oh, really? Okay, well. How many of you are happy with your calendar server right now? Okay. No one. That's good. Well, there's good news coming for you today. All you IT types who have been waiting for Steve to say, we got one more thing, and you wanted that thing to be... and the rest of the team.
That's great. You can kind of share those calendars, but they don't really talk to each other much. They don't have any sort of common protocol to talk to each other. So what we wanted to do with iCal Server is create an open platform for calendaring. We want to start the conversation about calendaring again because there hasn't been a lot of innovation in our opinion in a long time.
So with iCal Server, you can start using iCal or you can use the open source application foundations, Chandler client. You can use Mozilla Sunbird. You can use Safari to do web-based calendaring. All of these are supported because iCal speaks CalDAV. CalDAV is the new protocol that we're adopting as part of iCal Server. Thank you.
Okay, so it's also a standards-based platform, but it's also all the features that you're expecting, everything that you need for calendaring. So, of course, free busy, rooms and resources, so you can invite rooms, you can invite projectors into meetings, proxy support, delegation, attachments, an amazing mobility story because, again, we're built on standards. Directory integration, so all your users and groups, you can interact with iCal Server securely, and obviously, work group support.
That's all the features, but there's another feature. Your question is, is it going to work for my business X? And the answer is, yep. and many more. I hope it better. So if you just have a single server running calendar, iCal Server as well as open directory, whatever other services you have, works great. Your company's growing. Congratulations, you've got more people, your growth is going up, add more servers.
Maybe you're going to need a round-robin DNS. You need more servers. You need an open directory server. Maybe you need XSAN. More hardware, that's a good thing. iCal Server is designed to scale to all sorts of different deployments. And we want your feedback on that as part of the seed. The rubber hits the road when you actually see it working. So I've asked Red DuTta, who's the iCal engineering manager, to come up here and give us a demo of iCal Server with iCal. Thank you, Michael.
Thank You Michael, so what I want to show you is the latest version of iCal that the team's been very busy working on and one of the first things you're going to notice is it still looks like the same old iCal that you know and love there's not a big leap you have to make there to figure this out but one of the things you'll see under the preferences panel is this new accounts pane now we try to make this really simple and just to kind of show it off I'm going to add an account for myself. I'm going to call it the Company Calendar.
One of the things that we tried to do to make this simple was all you really need to know to set this thing up is your username and password. Now, if you watch just for a second with your server address, we're going to fill that out for you.
So you don't even really need to know your server address. All you need to know is your username and password, and we'll fill it out. And you can see iCal as you know and love. Now, for those of you who aren't that familiar with iCal, basically the way you do it is you create different calendars. You can categorize things that way, colorize however you want.
And one of the things I'm going to do is I'm going to create a new calendar, and I'm going to call it "Important" for meetings that are really important to me. And I can make that any color I want to help categorize things, but since it is important, I'm going to leave it at the color red. And so one of the other things I do want to point out is you can VPN from home into this, and you'll see the exact same view. Your calendar names will be the same.
The colors will be the same. It'll look the same as if you're in work or at home. So let me try and schedule a meeting. So our senior VP Bertrand always wants to know how things are moving along, so why don't I try and schedule a meeting with him to give him a quick demo.
So I'm going to go ahead and start with the name of iCal. And one of the things I can do is just simply start typing in his name as an attendee, and it auto-completes, and I'll pick him. Oh, and one of the things I can see right away is, oh, he's busy at the time that I picked. And so what I'll do is maybe I'll drag it to a different time. Maybe he's available around 3:30. And, well, once again, he's not available. So let me see. Maybe he's available in the morning. And I see that he's free.
So this was kind of great because I knew who I wanted to invite, but what if I didn't know? Well, I can still see people in the address book, but now I can tie into open directory and get anybody who I want who's there in open directory. I can pick conference rooms from the rooms or projectors from the resources.
So, that's pretty much the CalDAV support as we've added it. Now, one of the other things that you might have noticed over here is this little notification. So, if I click on it, all of a sudden I can see sitting here waiting for me is an invitation to integrating with iCal. It's the session, 3.30 tomorrow, and it's from my teammate, Matt DiMaggio. Well, I think I really want to be there to this, so I'm going to accept it.
In my calendar, I'm going to categorize it to important, and I'm going to reply that I've accepted. So, that's sending, receiving, making meetings, all this kind of stuff you'd want to do with a corporate calendar. So, with that, I want to tell everyone that there's a much more detailed demo tomorrow at 10:30 in the morning. And turn it back over to Michael. Okay. How cool is that?
I've been waiting to do that in iCal for years. OK, so as I said, this is built on CalDAV. And I want to talk a little about the standard here. But I first want to talk about other standards in this space. There's one called CAP. It was approved about six months ago as an RFC or something. But it didn't see widespread adoption. And the reason is it was really complex. People didn't want to reinvent a brand new protocol. And that's why we chose CalDAV, because it's built on existing protocols. At the bottom there, you're looking at HTTP.
We all know what that is. It's very tested. It's very firewall friendly. On top of that, we've got WebDAV, which is our repository and our way to manage collections of what's next to that, which is the iCalendar file format, which you know. And on top of that is iTIP, which is the beginning of scheduling.
And then on top of that is the rest of scheduling, all the server scheduling, which is one specification, as well as a set of methods that actually, as part of WebDAV, that actually allow us to do calendaring. So to talk a little bit more about the consortium that is driving the CalDAV spec, I'd like to bring Dave Thouless up here to talk about CalDAV. Dave? DAVE THOULESS: Gizzy.
Thank you for having me here. As you said, my name is Dave Thewlis. I'm the Executive Director of the Calendaring and Scheduling Consortium, which is called CalConnect by everybody to the point where you often don't remember it's the Calendaring and Scheduling Consortium. Which button we have here? Obviously it's the wrong one.
I'm defeated by technology. There we go. There we go. Okay, so what I'm actually going to talk about very briefly is CalConnect, the consortium. So what is it? It's an IT consortium. It is a partnership. We style it as a partnership between developers and customers. And as you'll see, that means we have a variety of different types of members.
We have a relatively fancy set of words in our mission, but fundamentally what it boils down to is that we are working to drive interoperability between different calendaring and scheduling systems. That means interoperability to exchange, calendaring to schedule between iCal, iCal Server, Lotus Notes, Microsoft Exchange, Oracle Collaboration Network. Oracle Collaboration Suite, Google Calendar, and so on and so forth. That is the dream, and the dream is starting to come true.
What do we do? We develop requirements and use cases for the standards for the protocols that are going to be instantiated in implementations. We help to evolve changes to those standards to support the evolving world of calendaring in areas like event publication and authentication. We conduct interoperability testing between the two. We conduct interoperability testing between existing calendar implementations and for implementations against the specifications. And what we're trying to do is push our industry towards interoperability so that we don't have isolated islands of calendaring that can't communicate with one another.
The kinds of organizations involved in CalConnect: calendaring vendors, academia, major institutions, commercial companies, open source developers, governmental energies, non-government organizations, and individual members. Members of CalConnect, this is not a complete list, although it's pretty good. You can see we have many of the major vendors. We have some of the open source developers. We have a number of major universities.
And one of the reasons I'm here is to announce that Apple not only has joined CalConnect, but has been an active and very active member of CalConnect since January. They have been one of the primary drivers of the CalDAV specification, moving that forward to becoming an internet standard. I'll be talking a little bit more about CalConnect next morning and the inside Leopard. Thank you very much. Thank you.
Okay, so more good news. So as of right now, if you go to this URL, you can download iCal Server as Darwin Calendaring Server. We are giving iCal Server to the open source community under the Apache license. From what I hear was announced earlier, our servers are already getting hit right now. So again, we want to start the conversation about calendaring, about innovation in calendaring.
The best way to do that is to get it out there and get it as part of the open source community as well. There's a session that's going to be this Thursday at 9 a.m. to talk about the open source efforts. It's going to be great. All the details about the standards, the different specs we're doing, it's going to be great.
Of course, you also have iCal Server, which ships the power as part of Mac OS X Server. If you've got more of an IT bent to you, there's a session tomorrow which is going to be talking about the nuts and bolts of iCal Server deployments and all the details that you need to know about. Okay, so we saved the best for last.
this is the big one. Teams. You've probably heard about it a couple sessions now, and you have no idea what that icon is. What exactly are we talking about with Teams? I'm going to give you a little context before I tell you what it is. The question I have for you is, you get up on Monday morning, you're going to work, you get your coffee, and you're working. You've got all these applications on your desktop that are begging for your attention, and you're doing stuff. You're doing stuff for the company. You've got, if you're using Mac OS X, you've got Spotlight, the means that you go and find things on your desktop.
You've got iCal, which is suddenly much more interesting with iCal Server. That manages your day, your meetings, the people that you need to interact with. You've got Mail. As Steve was saying this morning, he lives in Mail. I live in Mail. My daily routine, every day when I leave, I write a little note to myself.
This is what I need to do. These are the specs I need to read, all this stuff. I send it off. It is the repository of a huge amount of organizational information. And you've got Safari, your research tool, your web surfing tool, obviously gathering how you gather a lot of information.
And you've got iChat, which is your means of talking to your coworkers. How you're making decisions. My phone hasn't rang in years at Apple. It's usually a lawyer if someone's, like, the phone's ringing. Everyone else is either mailing me or they're using iCal, iChat. So what's the point here? You've got all of this information sitting on your computer. Everything, and I guarantee that some of that information, someone else in your company needs, but they can't get to it because it's sitting on your computer.
The game is not you. The game is we. You've got all of these different people with this information. What we need is a space to put all this information so we can easily share it and everyone can have access. That's what Teams is. So Teams is an application.
Let's go back to that icon again. Very pretty. It's an application as well as a set of services. The application is called Teams. It's an application as well as a set of services. The application is called Teams. It's a very simple application. It's a very simple application. It's an application as well as a set of services.
The application is called Teams Directory. It's got two roles. Role number one is a directory viewer. You need to go find someone in your open directory. All the people, all the locations, maps, resources, brilliant UI, great way to view your directory information. And you need that for iCal as well.
The other role is to create teams, to create groups of people. And you need to have a team. You need to have a team. You need to have a team. And to create the set of services that goes along with each group. And here's the killer part. There's no admin involved. If you have given someone rights to do this, they can create a group and they can get the wiki, the weblog, the account, all that stuff with no admin intervention.
So that's Teams Directory. Then we have the Wiki. I'm not going to say anything about this because you just got to see the demo because this is the best wiki you're ever going to see. We've got the weblog, which is very similar from a technology perspective as a wiki, but socially, weblogs are sort of used differently.
So we'll take a look at that. We've got group calendaring, web-based group calendaring on top of iCal Server, and we've got contacts as well. So the only way to understand really what Teams is, is to get a demo. And what I'd like to do is I'd like to bring up, who's the engineering manager for Teams and iCal Server-- busy guy-- to give us a demo of Teams.
Thanks, Michael. Hey, we got the right demo machine, I think. Good. Okay, so as Michael mentioned, Teams is more than just a wiki, but I'm going to kind of focus on that. But before that, let me kind of give you the kind of the lay of the land of the front page. So the way Teams works is you can basically let anybody in your organization create a team, or you can lock it down to just certain people. It's up to you. What that means is that you can run multiple wikis, multiple web calendars, all on one server.
So what happens then is that every, once a team is created, every team gets a website. If you go to the top, look at the top of this page, you'll see a link to a wiki, link to a web calendar, and a link to a web blog. So these are all things that are included with every team that you create.
This is actually the front page, there's content in the middle. And let me back up just a little bit. So this is actually just a sample of one of the wikis that we, we actually do use this internally. This is a sample team for the Leopard Server project.
So the center section is editable. And this is generally where you would place content that was just kind of high level information about your team, whatever your team was doing, your project, anything. And then over on the right, you'll notice some sidebar over here with what's hot, shows things that have been marked as important, upcoming events.
This is data actually coming out of the calendar showing things that are coming up. And it's coming from the CalDAV server, CalDAV server, of course. And what's new, shows you pages or objects that have changed inside the your team's content repository. So as I said, I want to focus on wiki. So let me go to one of the wiki pages.
So everybody here probably uses a wiki someplace. You either use Wikipedia if you're involved in any open source projects, they all have wikis. And more recently, a lot of corporations that are non-engineering driven are using wikis as well. Apple, for example, has wikis all over the place. Unfortunately, they're not these because this didn't exist. So what ends up happening is that you've got, you know, wiki server in this engineering team group, one in this engineering group, and they're all different. They're all being managed by engineers, and it's really difficult.
The other problem is some people might say it's better if it's been managed by engineers, but I would never say that because I'm here in an IT session. So the other problem with wiki, another problem with wikis is that they all use markup languages and the markup languages are difficult. Some people think that markup languages. are an intelligence test. I kind of disagree with that philosophy. That you end up going to this mode where you're typing in markup, doing a preview to see if it got messed up.
It usually did get messed up. You go back into edit mode in the markup language, go to preview and you just kind of go back and forth. And it's just real pain. And adding images and attachments is a disaster. You basically end up having to mount an FTP server or an AFP server, upload content, go back up into your markup language, type it in some bizarre bracket or two brackets. I'm not sure. It depends on the wiki to link off to that content on another server.
Okay. So anyway, that's my diatribe on how bad wikis are. Let me show you how ours isn't bad. So as I said, this is a wiki page here. I'm going to go up here and click the Edit button. If you watch closely, you'll see a toolbar pop down. And the wiki has now gone into edit mode, so I can start adding content.
I can select that content, go up to the toolbar, and make it bold and underlined. I can do things like indent it, outdent it. and that sort of thing. And when I'm done, I just click Done. Or before I click Done, I can add a comment saying, What I did, and the reason we do that is that we kick up, like all wikis, we keep a complete history on every change that you make on the wiki. So you can never screw anything up. You can't lose anything. It's the beautiful thing about wikis. So click done. It's saving this up to the server.
It's all AJAX kind of driven, and I'm done editing. So it's very, very simple. I mentioned-- I want to also show you a little bit about how we manage links and images. So to start off-- Let me-- I'll add a little bit of content at the bottom. Start off by adding a link.
If I use the right keyboard, it might be easier. So in this place, we're adding-- we're keeping links of rumors about features that people thought were going to be in Leopard. Learn how you-- I'm very new with a mouse, so. So I'd select the text, just go up to the toolbar and click on the link tool.
And you'll notice a few things. So first, we give you a list of existing pages that are already in the wikis. If I wanted to-- oh, and I did accidentally-- I can just click on one of those pages and it'll create a live link. So let me get back to where I was.
Oops. Select that text. Go back up here. Keep my hand off of the keyboard or off the mouse. So we're showing at the top here pages that have matching tags. And I'll talk a little bit about tags later. But basically, it's showing me the pages that are probably related to this.
The page I'm about, or to the page I'm typing on right now, also shows me recently viewed things. We feel that when you're building out a wiki, the things you've viewed recently are probably the things you want to link together later. I can also type in just a raw URL at the bottom if I wanted to link to an external site or if I happen to know the URL for an internal page.
And the last thing I can do is I can do new page, and this is really important in wikis. So one of the beautiful things about a wiki is as you're editing content, you can very quickly put placeholders in for pages that you're going to go fill out later. And that's what this new page setting allows me to do.
So I'm going to create the new page. Page has been created. I'm still editing my existing content. I will fix my spelling error. I click done, and I've now got a link. So links are very, very easy. I'm going to pop over to that link and maybe now add some content to that page. page.
So let me select that text. And I've got a rumor from some rumor site that I'd like to paste in for everybody else to look at and wonder who leaked the rumor. So let me select that text. And paste it in. And you'll notice something pretty interesting here. It kept all of the formatting. If this had come off of a real website, it would have worked properly, even the link.
Even the links that are there work. So that slide got dug to death. All my bulletin is intact and go back into edit mode. But I want to add a picture to this. So let me click down here and click on the Insert Picture icon. All I have to do is browse to my local picture, click Choose, insert that picture, and it's uploading it to the server. It's putting it in the repository into the right spot. And somebody was playing with my demo before I came up here. Known bug.
Okay, good. You guys remember where I was? Okay, adding a picture, so. Go to the picture icon, browse to my file, select my file. It will upload very, very quickly to the server. And there it is. Click Done, and I've got a completely edited wiki page. It's thumbnail the image for me. If it were a really large image, I could show you that. We also show history. It's very nice. You can go back and look at prior versions very quickly.
Done with that. And the last thing I wanted to talk about is tags. So one of the problems-- one of the great things about wikis, actually, is that they're all about organically creating content, linking that content together, and making it possible to search across all of that content really, really easily.
I think that's great, but we wanted to add a little bit more structure to that. So we added tagging. We don't have any tag clouds. I apologize to anybody who's waiting for that. And tabs are easy. Just go up into the tag bar up here, type your tag, hit Tab, go to the next tag.
In there, if I want to remove a tag, I can just take it and drag it off of the tag bar. Very, very simple. And when I'm done, what do tags give me? Well, I can do things like click on the WWDC tag, and I'll get a page of results that shows me all of the things that have been tagged with WWDC. If I want to find things that have been tagged with rumors and WWDC, I can filter that down and look just for those things.
So it makes it very, very simple. Nothing's tender. And then up here, you see a search dialog. That does exactly what you would expect. It'll search across the entire wiki and find you all content that contains the search term that you've typed in there. So moving back to the main page.
You may have noticed that the tags I put in there, one of those tags was hot. This is actually Paris Hilton's favorite feature. So putting the tag hot into any item is kind of a special tag. And what that means is put that item up here in the what's hot section because that's your way of telling people that this is very important and you want them to look at it right away. And like I said before, Teams is a bunch of stuff. The Wiki is just one piece of it, and you should definitely check out the session on Wednesday where we go through everything. Thank you, Michael.
How cool is that? We get the web. All right, so as Chris mentioned, we have a session again on Wednesday at 10:30. And let me tell you, you haven't seen anything yet. We've got so much more in Teams to show you. And you just got to come to the session to see it. I want to leave you with four thoughts really quickly about what you've been seeing here inside of Teams. First off, integrated services in Search.
When I go to the website, when I go to a team site, what I see on the Wiki is the same thing as I see on the web log, is the same thing I see on the calendar. It's a shared experience. So it's very easy for folks to get to and fro. Search, like Chris said, is across all of the services.
Tags. We've made it a first-class citizen. We want to push down the organization of information down to the folks who are doing it. We've seen it every, it's going to be across all the services, and we really think it's going to give people the ability to kind of create organic hierarchy, organic workflow.
History. I'm a nerd, so I love version control. And this is version control. It's a common feature in every single wiki. But what's neat about this is wikis never forget. Every single change I can go see who did it. I can see when they did it. I can see what they did.
And probably the most interesting thing, if you choose to actually put comments in it, it's the context of what they did. I often go to Wikipedia and I look at the recent changes on Hot Pages because it's just as interesting as the content because you can see why people are changing what they're changing. And finally, WYSIWYG. It's pretty. I get that it's pretty. That's not the point. The point is to lower the bar in terms of accessibility.
We want everybody in the organization to be coming in and using this content because we know that content becomes more valuable the more that people can get in, use it, and edit it. And that's why we want to make it the simplest wiki out there. So learn more. Again. There's a Wednesday session at 10:30. And we've got a special guest for that as well. And we're going to have an amazing demo. And with that, I will bring Greg Burns back up. Thank you.
Thanks Michael. So, we're going to wrap it up. So as you leave here, I'd like you to remember four things about Leopard Server. The first is the server foundations. We've made improvements to the OS and the services in Leopard Server, and we've added new capabilities. We have 64-bit at all layers of the operating system and new services like Spotlight Server and Podcast Producer.
Easy management. We've made the server much easier to set up both the server and the clients, and this is great for setting up the server in small businesses or in work groups. We have the iCal Server, open source and open standards with CalDAF, and Teams, wiki and web services. So, you heard there's a lot of sessions throughout the week on all these new services. We also have labs throughout the week. There's the IT Lab on Level 1.
We have times throughout the week when we have engineers from the Mac OS X Server team. And also, we have a lot of people from the Mac OS X Server team. And also other teams like the Apple Remote Desktop team. So check your schedules and drop by the lab. It's open from now until Thursday. And if you want more information, our contact at Apple is Skip Levens. He's our server technology evangelist. You can contact him at [email protected].