I think one of the key components for effective teaching in virtual learning environments to establish a sense of community within your teaching environment. In your post, you do not mention if you teach in an entirely virtual environment, or a hybrid setting or your subject or grade level area. However, regardless of the structure, establishing a sense of community is important for students to participate and become active and engaged learners.
In the brick and mortar classroom, and in the online environment it is essential to establish expectation, so that students feel safe and secure to operate within the boundaries of the established guidelines. Reviewing online safety guidelines is also essential. Once guidelines and safety protocol are established, the class can begin to establish a sense of community. Introductions can be very helpful, and encouraging students to respond to other students' introductions in safe and monitored forum can help to build community. Additionally icebreakers, such as those found in Conrad and Donaldson's book, Engaging the Online Learner: Activities and Resources for Creative ... can be instrumental in establishing rapport and community. Students can also participate in team building activities virtually to establish a sense of community.
As far as subject specific resources and activities, it largely depends on the grade level and subject you are teaching and whether your classes are asynchronous or synchronous. There are a myriad of online tools ranging from virtual microscopes to virtual field trips to virtual grammar activities to virtual math activities to virtual frog dissection! (A quick google search of your topic will probably yield numerous results.)
Another activity you may want to consider is setting up a webquest or using a webquest that has already been established (just be sure to check that the links in the webquest are still operational).
Good luck with your virtual class!